53 lines
1.4 KiB
C#
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;
|
|
}
|
|
}
|
|
} |