58 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			58 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C#
		
	
	
	
| using System.Collections;
 | |
| using System.Collections.Generic;
 | |
| using UnityEngine;
 | |
| 
 | |
| public class DiamondList : ListView<DiamondCell>
 | |
| {
 | |
|     public override int Count => TableIAP.Instance.Count;
 | |
| 
 | |
|     private int mCurrentBuyIndex;
 | |
| 
 | |
|     private void OnEnable()
 | |
|     {
 | |
| #if USE_IAP
 | |
|         IAPTool.Instance.OnPurchaseDone += OnPurchaseResult;
 | |
| #endif
 | |
|     }
 | |
| 
 | |
|     private void OnDisable()
 | |
|     {
 | |
| #if USE_IAP
 | |
|         IAPTool.Instance.OnPurchaseDone -= OnPurchaseResult;
 | |
| #endif
 | |
|     }
 | |
| 
 | |
|     protected override void ConfigCell(DiamondCell pCell)
 | |
|     {
 | |
|         pCell.DelPurchase = OnPurchase;
 | |
|         pCell.ConfigCell(TableIAP.Instance[pCell.Index]);
 | |
|     }
 | |
| 
 | |
|     private void OnPurchase(int pIndex)
 | |
|     {
 | |
|         mCurrentBuyIndex = pIndex;
 | |
| #if USE_IAP
 | |
|         IAPTool.Instance.BuyProductByID(TableIAP.Instance[pIndex].ProductID);
 | |
| #endif
 | |
|     }
 | |
| 
 | |
|     private void OnPurchaseResult(string pID, bool pResult)
 | |
|     {
 | |
| #if USE_IAP
 | |
|         if (pResult)
 | |
|         {
 | |
|             DataIAP tData = TableIAP.Instance.GetData(pID);
 | |
|             if (tData != null)
 | |
|             {
 | |
|                 PlayerData.Instance.Diamond += tData.DiamondNum;
 | |
|                 UIUtils.FlyDiamond((mCellList[mCurrentBuyIndex] as DiamondCell).IconPos, tData.DiamondNum);
 | |
|                 AudioManager.Instance.PlaySound(AudioClipType.GetCoin);
 | |
|             }
 | |
|         }
 | |
|         else
 | |
|         {
 | |
|             UIUtils.ShowTips(LanguageConfig.Instance.GetText("PayFail"));
 | |
|         }
 | |
| #endif
 | |
|     }
 | |
| } |