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;
 | |
|         }
 | |
|     }
 | |
| } |