76 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			76 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			C#
		
	
	
	
|  | using System; | |||
|  | using System.Collections.Generic; | |||
|  | using UnityEngine; | |||
|  | using UnityEngine.UI; | |||
|  | 
 | |||
|  | public class PetCell : ListCell | |||
|  | { | |||
|  |     public Action<int> DelPurchase; | |||
|  |     public Action<int> DelAd; | |||
|  |     public Action<int> DelUse; | |||
|  | 
 | |||
|  |     [SerializeField] Text mTxtName; | |||
|  |     [SerializeField] Image mImgIcon; | |||
|  | 
 | |||
|  |     [SerializeField] Text mTxtPrice; | |||
|  |     [SerializeField] Button mBtnPurchase; | |||
|  | 
 | |||
|  |     [SerializeField] Text mTxtProgress; | |||
|  |     [SerializeField] Button mBtnAd; | |||
|  | 
 | |||
|  |     [SerializeField] Button mBtnUse; | |||
|  |     [SerializeField] GameObject mGobInUse; | |||
|  | 
 | |||
|  |     private DataPet mData; | |||
|  | 
 | |||
|  |     private void Awake() | |||
|  |     { | |||
|  |         UIUtils.BindBtn(mBtnPurchase, OnClickPuchase); | |||
|  |         UIUtils.BindBtn(mBtnAd, OnClickAd); | |||
|  |         UIUtils.BindBtn(mBtnUse, OnClickUse); | |||
|  |     } | |||
|  | 
 | |||
|  |     public void ConfigCell(DataPet pData, bool pOwned, bool pInUse) | |||
|  |     { | |||
|  |         mData = pData; | |||
|  | 
 | |||
|  |         mTxtName.text = LanguageConfig.Instance.GetText(mData.PetName); | |||
|  |         mImgIcon.sprite = ResourceManager.Instance.LoadRes<Sprite>(Const.Path.GetPetIcon(mData.PetName)); | |||
|  |         mImgIcon.SetNativeSize(); | |||
|  | 
 | |||
|  |         if (GameConfig.Instance.UseDiamond) | |||
|  |         { | |||
|  |             mTxtPrice.text = mData.Price.ToString(); | |||
|  |             mTxtPrice.color = PlayerData.Instance.Diamond >= mData.Price ? Color.white : Color.red; | |||
|  | 
 | |||
|  |             mBtnPurchase.gameObject.SetActive(!pOwned); | |||
|  |             mBtnAd.gameObject.SetActive(false); | |||
|  |         } | |||
|  |         else | |||
|  |         { | |||
|  |             int tOnlineCount = TKGSDKManager.Instance.GetConfigInt(TKGParamKey.SkinAdCount.ToString()); | |||
|  |             mTxtProgress.text = PlayerData.Instance.GetPetProgress(mData.PetID) + "/" + (tOnlineCount > 0 ? tOnlineCount : mData.AdCount); | |||
|  | 
 | |||
|  |             mBtnAd.gameObject.SetActive(!pOwned); | |||
|  |             mBtnPurchase.gameObject.SetActive(false); | |||
|  |         } | |||
|  |         | |||
|  |         mBtnUse.gameObject.SetActive(pOwned && !pInUse); | |||
|  |         mGobInUse.SetActive(pOwned && pInUse); | |||
|  |     } | |||
|  | 
 | |||
|  |     private void OnClickPuchase() | |||
|  |     { | |||
|  |         DelPurchase?.Invoke(mData.PetID); | |||
|  |     } | |||
|  | 
 | |||
|  |     private void OnClickAd() | |||
|  |     { | |||
|  |         DelAd?.Invoke(mData.PetID); | |||
|  |     } | |||
|  | 
 | |||
|  |     private void OnClickUse() | |||
|  |     { | |||
|  |         DelUse?.Invoke(mData.PetID); | |||
|  |     } | |||
|  | } |