using UnityEngine; using FairyGUI; using UI.OpenServerActivity; using ET; namespace GFGGame { public class OpenServerActivityView : BaseWindow { private UI_OpenServerActivityUI _ui; private EffectUI _effectUI1; private EffectUI _effectUI2; private EffectUI _effectUI3; private EffectUI _effectUI4; public override void Dispose() { EffectUIPool.Recycle(_effectUI2); _effectUI2 = null; EffectUIPool.Recycle(_effectUI3); _effectUI3 = null; EffectUIPool.Recycle(_effectUI4); _effectUI4 = null; if (_ui != null) { _ui.Dispose(); _ui = null; } base.Dispose(); } protected override void Init() { base.Init(); } protected override void OnInit() { base.OnInit(); packageName = UI_OpenServerActivityUI.PACKAGE_NAME; _ui = UI_OpenServerActivityUI.Create(); viewCom = _ui.target; isfullScreen = true; isReturnView = true; _ui.m_btnBack.onClick.Add(OnClickBtnBack); _ui.m_btnHeaven.onClick.Add(OnClickBtnHeaven); _ui.m_btnMingTong.onClick.Add(OnClickBtnMingTong); _ui.m_btnAnswerTianmen.onClick.Add(OnClickBtnAnswerTianmen); _ui.m_btnTenShu.onClick.Add(OnClickBtnTenShu); _ui.m_btnNineZhouPool.onClick.Add(OnClickBtnNineZhouPool); AddEffect(); } private void AddEffect() { _effectUI2 = EffectUIPool.CreateEffectUI(_ui.m_holderSmallBg, "ui_Activity", "NewAtv_Quad"); _effectUI3 = EffectUIPool.CreateEffectUI(_ui.m_holderSmallBgTx, "ui_Activity", "NewAtv_Quad_tx"); _effectUI4 = EffectUIPool.CreateEffectUI(_ui.m_holderFog, "ui_Activity", "NewAtv_BG_tx"); } protected override void OnShown() { base.OnShown(); _ui.m_loaBg.url = ResPathUtil.GetBgImgPath("Tx_bg"); RefreshTimeText(); UpdateRedDot(); Timers.inst.Add(1, 0, UpdateTime); Timers.inst.Add(0.2f, 1, ShowEffTime); } private void ShowEffTime(object param) { _effectUI1 = EffectUIPool.CreateEffectUI(_ui.m_holderTitle, "ui_Activity", "NewAtv_Text"); } protected override void OnHide() { base.OnHide(); EffectUIPool.Recycle(_effectUI1); _effectUI1 = null; Timers.inst.Remove(UpdateTime); Timers.inst.Remove(ShowEffTime); } protected override void AddEventListener() { base.AddEventListener(); EventAgent.AddEventListener(ConstMessage.RED_CHANGE, UpdateRedDot); } protected override void RemoveEventListener() { base.RemoveEventListener(); EventAgent.RemoveEventListener(ConstMessage.RED_CHANGE, UpdateRedDot); } private void UpdateRedDot() { RedDotController.Instance.SetComRedDot(_ui.m_btnTenShu, (RedDotDataManager.Instance.GetActLuckyBoxRewardRed(ConstLimitTimeActivityType.ActLimitStlyc) || RedDotDataManager.Instance.GetGiftBagRewardRed() || RedDotDataManager.Instance.GetMeiRiTeHuiRed()), "", -100, 11); RedDotController.Instance.SetComRedDot(_ui.m_btnHeaven, MiniGameDateManager.Instance.GetRewardRot()); } private void UpdateTime(object param) { RefreshTimeText(); } private void RefreshTimeText() { int actLimitId = ActivityDataManager.Instance.GetCurOpenActiveByType(ConstLimitTimeActivityType.ActLimitStlyc); ActivityOpenCfg activityOpenCfg = ActivityOpenCfgArray.Instance.GetCfg(actLimitId); long time = TimeUtil.DateTimeToTimestamp(activityOpenCfg.endTime) - TimeHelper.ServerNow(); string strTime = TimeUtil.FormattingTimeTo_DD_HH_mm(time); string[] str = strTime.Split(':'); _ui.m_txtDay.text = str[0]; _ui.m_txtHour.text = str[1]; _ui.m_txtMinute.text = str[2]; } private void OnClickBtnBack() { ViewManager.GoBackFrom(typeof(OpenServerActivityView).FullName); } private void OnClickBtnHeaven() { //小游戏入口 ViewManager.Show(); } private void OnClickBtnMingTong() { //副本入口 ViewManager.Show(ConstLimitTimeActivityType.ActLimitStlyc); } private void OnClickBtnAnswerTianmen() { //剧情入口 ViewManager.Show(ConstLimitTimeActivityType.ActLimitStlyc); } private void OnClickBtnTenShu() { int actLimitId = ActivityDataManager.Instance.GetCurOpenActiveByType(ConstLimitTimeActivityType.ActLimitStlyc); if (actLimitId <= 0) { PromptController.Instance.ShowFloatTextPrompt("活动未开启"); return; } ViewManager.Show(ConstLimitTimeActivityType.ActLimitStlyc); } private void OnClickBtnNineZhouPool() { ViewManager.Show(new object[] { ConstStoreTabId.STORE_EXCHANGE, ConstStoreSubId.STORE_ACTIVITY_EXCHANGE }); } } }