using UnityEngine; namespace vnxbqy.UI { public class FairySiegePushWin : Window { [SerializeField] ButtonEx btnClose; [SerializeField] ButtonEx btnGo; [SerializeField] ButtonEx btnSkip; [SerializeField] ImageEx imgSkip; [SerializeField] ScrollerController scrReward; [SerializeField] TextEx txtActTime; [SerializeField] TextEx txtRemainTime; FairySiegeActModel model { get { return ModelCenter.Instance.GetModel(); } } protected override void AddListeners() { btnClose.SetListener(CloseClick); btnSkip.SetListener(() => { model.isPushDaySkip = !model.isPushDaySkip; imgSkip.SetActive(model.isPushDaySkip); }); btnGo.SetListener(() => { //在推送界面一直待到活动结束再点进入活动直接关掉界面 if (!model.IsOpen) { WindowCenter.Instance.Close(); return; } WindowCenter.Instance.Open(); WindowCenter.Instance.Close(); }); } protected override void BindController() { } protected override void OnPreOpen() { scrReward.OnRefreshCell += OnRefreshCell; GlobalTimeEvent.Instance.secondEvent += OnSecondEvent; imgSkip.SetActive(model.isPushDaySkip); txtActTime.text = model.operationCrossAct != null ? Language.Get("RidingPetBossQuestTime", model.operationCrossAct.ToDisplayTime()) : string.Empty; OnSecondEvent(); } protected override void OnPreClose() { scrReward.OnRefreshCell -= OnRefreshCell; GlobalTimeEvent.Instance.secondEvent -= OnSecondEvent; } protected override void OnAfterOpen() { CreateScroller(); } protected override void OnAfterClose() { } private void CreateScroller() { scrReward.Refresh(); if (!model.pushItemList.IsNullOrEmpty()) { for (var i = 0; i < model.pushItemList.Length; i++) { scrReward.AddCell(ScrollerDataType.Header, i); } } scrReward.Restart(); } private void OnRefreshCell(ScrollerDataType type, CellView cell) { var _cell = cell.GetComponent(); _cell?.Display(cell.index); } private void OnSecondEvent() { txtRemainTime.text = model.GetRemainTime(); } } }