using System; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class PetCell : ListCell { public Action DelPurchase; public Action DelAd; public Action 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(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); 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); } }