mergemilitary/Assets/MMOModule/Scripts/MMOUIs/CustomControls/MMOSkinList/MMOSkinList.cs

53 lines
1.4 KiB
C#

using System;
using System.Collections.Generic;
using UnityEngine;
namespace MMO
{
public class MMOSkinList : MMOListView<MMOSkinCell>
{
private Action<string, Action<bool>> mDelWatchRV;
public override int Count => MMOTableSkin.Instance.Count;
private int mCurAdSkinID = -1;
public void Init(Action<string, Action<bool>> pDelWatchRV)
{
mDelWatchRV = pDelWatchRV;
}
protected override void ConfigCell(MMOSkinCell pCell)
{
pCell.DelRedeem = Redeem;
pCell.DelWatchRV = WatchRV;
pCell.ConfigSkin(MMOTableSkin.Instance[pCell.Index]);
}
private void Redeem(int pIndex)
{
MMOUserData.Instance.RedeemSkin(MMOTableSkin.Instance[pIndex].SkinID);
MMOModule.Instance.UIMgr.OpenUI<MMOUIRedeemDone>();
LoadData();
}
private void WatchRV(int pIndex)
{
mCurAdSkinID = MMOTableSkin.Instance[pIndex].SkinID;
mDelWatchRV?.Invoke(MMOEventValue.RvGetSkin, AdGetSkin);
}
private void AdGetSkin(bool pResult)
{
if (pResult)
{
MMOUserData.Instance.AddSkinPieceCount(mCurAdSkinID, 1);
MMOUserData.Instance.AddSkinAdCount(mCurAdSkinID);
LoadData();
}
mCurAdSkinID = -1;
}
}
}