using UnityEngine; using UnityEngine.UI; //拥有的货币:数量显示,点击按钮打开对应获取界面 public class OwnMoneyCell : MonoBehaviour { [SerializeField] Image moneyIcon; [SerializeField] Text numText; [SerializeField] Button wayBtn; public int moneyType; void Start() { if (moneyType != 0) moneyIcon.SetIconWithMoneyType(moneyType); if (wayBtn != null) { wayBtn.AddListener(()=> { switch (moneyType) { case 1: { if (FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.Recharge, true)) { RechargeManager.Instance.selectTabIndex = 1; if (UIManager.Instance.IsOpened()) { UIManager.Instance.GetUI().ClickFuncBtn(1); } else { UIManager.Instance.OpenWindow(1); } } } break; case 99: { if (FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.Recharge, true)) { RechargeManager.Instance.selectTabIndex = 0; if (UIManager.Instance.IsOpened()) { UIManager.Instance.GetUI().ClickFuncBtn(1); } else { UIManager.Instance.OpenWindow(1); } } } break; default: { ItemTipUtility.ShowMoneyTip(moneyType); } break; } }); } } void OnEnable() { PlayerDatas.Instance.playerDataRefreshEvent += PlayerDataRefresh; Display(); } void OnDisable() { PlayerDatas.Instance.playerDataRefreshEvent -= PlayerDataRefresh; } void PlayerDataRefresh(PlayerDataType type) { if (type != UIHelper.moneyTypeToPlayerDataType[moneyType]) { return; } Display(); } public void Display(bool resetIcon = false) { if (moneyType == 0) { // Debug.LogError("moneyType == 0"); return; } double count = UIHelper.GetMoneyCnt(moneyType); int decimalPlaces = 1; if (moneyType == 99) { count = count / 100.0; decimalPlaces = 2; } numText.text = UIHelper.ReplaceLargeNum(count, decimalPlaces); if (resetIcon) { moneyIcon.SetIconWithMoneyType(moneyType); } } }