using vnxbqy.UI; using System.Collections.Generic; using UnityEngine.UI; using UnityEngine; public class ManyDayRechargeCell : ILBehaviour { Text info; Slider m_ConsumeSlider; List items = new List(); Image Img_Got; ButtonEx Btn_Get; protected override void Awake() { info = proxy.GetWidgtEx("Text_Amount"); Img_Got = proxy.GetWidgtEx("Img_State"); Btn_Get = proxy.GetWidgtEx("Btn_Get"); items.Clear(); items.Add(proxy.GetWidgtEx("itemcell0")); items.Add(proxy.GetWidgtEx("itemcell1")); items.Add(proxy.GetWidgtEx("itemcell2")); items.Add(proxy.GetWidgtEx("itemcell3")); m_ConsumeSlider = proxy.GetWidgtEx("ConsumeSlider"); } //index档位字典的数组索引 public void Display(int index) { OperationBase operationBase; if (!OperationTimeHepler.Instance.TryGetOperationTime(ManyDayRechargeModel.operationType, out operationBase)) { return; } OperationManyDayRecharge operation = operationBase as OperationManyDayRecharge; var recharge = operation.drlcInfoDict[ManyDayRechargeModel.Instance.selectType][index]; var result = ManyDayRechargeModel.Instance.GetRechargeStateByIndex(ManyDayRechargeModel.Instance.selectType, recharge.NeedDays, recharge.AwardIndex); Img_Got.SetActiveIL(false); Btn_Get.SetActiveIL(false); var dayCnt = ManyDayRechargeModel.Instance.GetRechargeDayCnt(ManyDayRechargeModel.Instance.selectType); info.text = Language.Get("ManyDayRecharge3", dayCnt, recharge.NeedDays); m_ConsumeSlider.value = Mathf.Min(1, (float)dayCnt / recharge.NeedDays); if (result == 0) { Btn_Get.SetActiveIL(true); Btn_Get.SetColorful(null, false); Btn_Get.RemoveAllListeners(); } else if (result == 1) { Btn_Get.SetActiveIL(true); Btn_Get.SetColorful(null, true); Btn_Get.SetListener(()=> { ManyDayRechargeModel.Instance.SendGetReward(recharge.AwardIndex, operation.ActNum); }); } else if (result == 2) { Img_Got.SetActiveIL(true); } for (int i = 0; i < items.Count; i++) { var awards = recharge.AwardItemList; if (i < awards.Length) { items[i].SetActiveIL(true); var itemId = (int)awards[i].ItemID; var model = new ItemCellModel(itemId, false, (ulong)awards[i].ItemCount); items[i].Init(model); items[i].auctionIcon.SetActiveIL(awards[i].IsBind != 0); items[i].button.SetListener(() => { ItemTipUtility.Show(itemId); }); } else { items[i].SetActiveIL(false); } } } }