using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class TotalRechargeCell : CellView { [SerializeField] Text nameText; [SerializeField] Image processImage; [SerializeField] Text processText; [SerializeField] ItemCell[] itemCells; [SerializeField] Button getBtn; [SerializeField] Button gotoBtn; [SerializeField] Transform gotRect; TotalRechargeManager manager { get { return TotalRechargeManager.Instance; } } public void Display(int index, List list) { if (list.IsNullOrEmpty() || index < 0 || index >= list.Count) return; int awardID = list[index]; var config = ActTotalRechargeTempConfig.Get(awardID); if (config == null) return; nameText.text = Language.Get($"TotalRecharge02", config.NeedAmount); if (config.AwardItemList != null) { for (int i = 0; i < itemCells.Length; i++) { var cell = itemCells[i]; if (i < config.AwardItemList.Length) { var item = config.AwardItemList[i]; cell.SetActive(true); cell.Init(new ItemCellModel(item[0], false, item[1])); cell.button.AddListener(() => ItemTipUtility.Show(item[0])); } else { cell.SetActive(false); } } } processText.text = Language.Get("BoneField09", manager.coinTotal, config.NeedAmount); processImage.fillAmount = manager.coinTotal / (float)config.NeedAmount; int state = manager.GetState(awardID);// 获取奖励状态 0 不可领取 1 未领取 2 已领取 gotoBtn.SetActive(state == 0); getBtn.SetActive(state == 1); gotRect.SetActive(state == 2); getBtn.SetListener(() => manager.SendGetReward(config.AwardIndex)); gotoBtn.SetListener(() => { if (FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.Recharge, true)) { RechargeManager.Instance.selectTabIndex = 1; if (UIManager.Instance.IsOpened()) { UIManager.Instance.GetUI().ClickFuncBtn(2); } else { UIManager.Instance.OpenWindow(2); } } }); } }