using System.Collections.Generic; using ET; using FairyGUI; using UI.ActivityThemeLuckyBox; using UI.CommonGame; using UnityEngine; namespace GFGGame { public class ActivityThemeLuckyBoxView : BaseWindow { private UI_ActivityThemeLuckyBoxUI _ui; private ActivityOpenCfg _activityCfg; private LuckyBoxCfg _luckyBoxCfg; private int _activityId; public override void Dispose() { if (_ui != null) { _ui.Dispose(); _ui = null; } base.Dispose(); } protected override void OnInit() { base.OnInit(); packageName = UI_ActivityThemeLuckyBoxUI.PACKAGE_NAME; _ui = UI_ActivityThemeLuckyBoxUI.Create(); this.viewCom = _ui.target; // this.modal = true; // this.viewCom.Center(); isfullScreen = true; // viewAnimationType = EnumViewAnimationType.ZOOM_CENTER; _ui.m_btnBack.onClick.Add(OnBtnBackClick); _ui.m_btnTask.onClick.Add(OnBtnTaskClick); _ui.m_btnChapter.onClick.Add(OnBtnChapterClick); _ui.m_btnLuckyBox.onClick.Add(OnBtnLuckyBoxClick); } protected override void AddEventListener() { base.AddEventListener(); EventAgent.AddEventListener(ConstMessage.RED_CHANGE, UpdateRedDot); } protected override void OnShown() { base.OnShown(); bool showTask = this.viewData == null ? false : (bool)this.viewData; if (showTask) { OnBtnTaskClick(); } _activityId = ActivityDataManager.Instance.GetCurOpenActiveByType(ConstLimitTimeActivityType.ActLimitLuckyBox); _activityCfg = ActivityOpenCfgArray.Instance.GetCfg(_activityId); _luckyBoxCfg = LuckyBoxCfgArray.Instance.GetCfg(_activityCfg.paramsArr[0]); _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("hb_" + _activityCfg.res); UpdateRedDot(); Timers.inst.Add(1, 0, UpdateTime); } protected override void OnHide() { base.OnHide(); Timers.inst.Remove(UpdateTime); } protected override void RemoveEventListener() { base.RemoveEventListener(); EventAgent.RemoveEventListener(ConstMessage.RED_CHANGE, UpdateRedDot); } private void OnBtnBackClick() { ViewManager.GoBackFrom(typeof(ActivityThemeLuckyBoxView).FullName); } private void OnBtnTaskClick() { ViewManager.Show(); } private void OnBtnChapterClick() { ViewManager.Show(StudioDataManager.Instance.luckyBoxFilingChapterId, new object[] { typeof(ActivityThemeLuckyBoxView).FullName, this.viewData }); } private void OnBtnLuckyBoxClick() { long endTime = TimeUtil.DateTimeToTimestamp(_activityCfg.endTime); long curTime = TimeHelper.ServerNow(); if (endTime < curTime) return; ViewManager.Show(_activityId, new object[] { typeof(ActivityThemeLuckyBoxView).FullName, this.viewData }, true); } private void UpdateTime(object param = null) { long endTime = TimeUtil.DateTimeToTimestamp(_activityCfg.endTime); long curTime = TimeHelper.ServerNow(); if (endTime < curTime) { Timers.inst.Remove(UpdateTime); return; } TimeUtil.FormattingTime(curTime, endTime, out int num, out string str); _ui.m_txtTime.text = TimeUtil.FormattingTimeTo_DDHHmm(endTime - curTime); } private void UpdateRedDot() { RedDotController.Instance.SetComRedDot(_ui.m_btnLuckyBox, RedDotDataManager.Instance.GetMeiRiTeHuiRed() || RedDotDataManager.Instance.GetActLuckyBoxRewardRed(ConstLimitTimeActivityType.ActLimitLuckyBox) || RedDotDataManager.Instance.GetGiftBagRewardRed(), "", -90, 70); RedDotController.Instance.SetComRedDot(_ui.m_btnTask, RedDotDataManager.Instance.GetActLuckyBoxTaskdRed()); } } }