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