using System; using System.Collections.Generic; using TableConfig; using UnityEngine; using UnityEngine.UI; namespace Snxxz.UI { public class CeremonyFirepartyWin : Window { [SerializeField] Button buyBtn; [SerializeField] Text remainTimeText; [SerializeField] CommonItemBaisc fireItem; [SerializeField] List itemBaiscs = new List(); List itemlist; ItemTipsModel tipsModel { get { return ModelCenter.Instance.GetModel(); } } FairylandCeremonyModel ceremonyModel { get { return ModelCenter.Instance.GetModel(); } } PlayerPackModel playerPack { 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; ItemCellModel fireModel = new ItemCellModel(storeConfig.ItemID,true,(ulong)storeConfig.ItemCnt,storeConfig.IsBind); fireItem.Init(fireModel); fireItem.cellBtn.AddListener(() => { ItemAttrData attrData = new ItemAttrData(storeConfig.ItemID,true, (ulong)storeConfig.ItemCnt,-1,storeConfig.IsBind); tipsModel.SetItemTipsModel(attrData); }); if (itemlist == null) return; for (int i = 0; i < itemBaiscs.Count; i++) { if (i < itemlist.Count) { itemBaiscs[i].gameObject.SetActive(true); FairylandCeremonyModel.AwardItem itemData = itemlist[i]; ItemCellModel cellModel = new ItemCellModel(itemData.itemId, true,(ulong)itemData.itemCount,itemData.isBind); itemBaiscs[i].Init(cellModel); itemBaiscs[i].cellBtn.RemoveAllListeners(); itemBaiscs[i].cellBtn.AddListener(() => { ItemAttrData attrData = new ItemAttrData(itemData.itemId, true, (ulong)itemData.itemCount,-1,itemData.isBind); tipsModel.SetItemTipsModel(attrData); }); } else { itemBaiscs[i].gameObject.SetActive(false); } } RefreshSecond(); } private void RefreshSecond() { int seconds = OperationTimeHepler.Instance.GetOperationSurplusTime(Operation.FairyCeremony); if (seconds > 0) { remainTimeText.text = StringUtility.Contact("", TimeUtility.SecondsToHMS(seconds), ""); } else { remainTimeText.text = UIHelper.GetTextColorByItemColor(TextColType.Red, Language.Get("XMZZ110")); } } private void ClickBuy() { if(playerPack.GetReaminGridCount(PackType.rptItem) < 1) { SysNotifyMgr.Instance.ShowTip("BagFull"); return; } if(ceremonyModel.CheckIsBuyFireCondi()) { ModelCenter.Instance.GetModel().SendBuyShopItem(storeConfig,1); } else { WindowCenter.Instance.Open(); } } } }