using System; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace vnxbqy.UI { public class NewYearCeremonyFirepartyWin : Window { [SerializeField] Button buyBtn; [SerializeField] Text buyPriceText; [SerializeField] Text remainTimeText; [SerializeField] CommonItemBaisc fireItem; [SerializeField] List itemBaiscs = new List(); List itemlist; NewYearFairylandCeremonyModel ceremonyModel { get { return ModelCenter.Instance.GetModel(); } } PackModel playerPack { get { return ModelCenter.Instance.GetModel(); } } StoreModel storeModel { get { return ModelCenter.Instance.GetModel(); } } StoreConfig storeConfig; protected override void BindController() { } protected override void AddListeners() { buyBtn.AddListener(ClickBuy); } protected override void OnPreOpen() { GlobalTimeEvent.Instance.secondEvent += RefreshSecond; itemlist = ceremonyModel.GetFireAwardlist(); Init(); } protected override void OnAfterOpen() { } protected override void OnPreClose() { GlobalTimeEvent.Instance.secondEvent -= RefreshSecond; } protected override void OnAfterClose() { } private void Init() { storeConfig = ceremonyModel.GetFireIdByLv(); if (storeConfig == null) return; buyPriceText.text = storeConfig.MoneyNumber.ToString(); ItemCellModel fireModel = new ItemCellModel(storeConfig.ItemID,true,(ulong)storeConfig.ItemCnt); fireItem.Init(fireModel); fireItem.button.AddListener(() => { ItemTipUtility.Show(storeConfig.ItemID); }); if (itemlist == null) return; for (int i = 0; i < itemBaiscs.Count; i++) { if (i < itemlist.Count) { itemBaiscs[i].SetActive(true); NewYearFairylandCeremonyModel.AwardItem itemData = itemlist[i]; ItemCellModel cellModel = new ItemCellModel(itemData.itemId, true,(ulong)itemData.itemCount); itemBaiscs[i].Init(cellModel); itemBaiscs[i].button.RemoveAllListeners(); itemBaiscs[i].button.AddListener(() => { ItemTipUtility.Show(itemData.itemId); }); } else { itemBaiscs[i].SetActive(false); } } RefreshSecond(); } private void RefreshSecond() { int seconds = OperationTimeHepler.Instance.GetOperationSurplusTime(Operation.NewYearFairyCeremony); if (seconds > 0) { remainTimeText.text = StringUtility.Contact("", TimeUtility.SecondsToHMS(seconds), ""); } else { remainTimeText.text = UIHelper.AppendColor(TextColType.Red, Language.Get("XMZZ110")); } } private void ClickBuy() { if(playerPack.GetEmptyGridCount(PackType.Item) < 1) { SysNotifyMgr.Instance.ShowTip("BagFull"); return; } storeModel.OnClickShopCell(storeConfig); } } }