local AnniversaryPrepare_Controller = {} local private = {} local EventSystem = require('Event/EventSystem') function AnniversaryPrepare_Controller.OnStartup() EventSystem.Regist(EventID.UI_OACommon_RedPointChanged, private.RefreshRedPoint) EventSystem.Regist(EventID.UI_AnniversaryPrepare_InfoUpdate, private.RefreshRedPoint) EventSystem.Regist(EventID.BagItem_Update, private.RefreshRedPoint) private.ActivityType = MDL.OperationActivity.ActivityType.AnniversaryPrepare private.activityId = 0 private.isHasReward = {} end function private.RefreshRedPoint() if private.activityId > 0 then local modeData = MDL.OperationActivity.ActivityBaseData[private.ActivityType]:GetDataByActivityID(private.activityId) if private.isHasReward[private.activityId] or UTL.Item.GetItemStockCount(modeData.SaluteItemID) > 0 or CTL.OACommon.IsHasTaskRedPoint(private.activityId) then CTL.RedPoint.AddRedPoint(CTL.RedPoint.RedPointKey.AnniversaryPrepare) return end end CTL.RedPoint.RemoveRedPoint(CTL.RedPoint.RedPointKey.AnniversaryPrepare) end function AnniversaryPrepare_Controller.RefreshRedPointInfo(info) if info then private.activityId = info.activityId MDL.AnniversaryPrepare.SetActivityID(private.activityId) private.isHasReward[private.activityId] = info.redPoint private.RefreshRedPoint() end end function AnniversaryPrepare_Controller.OpenMainPanel() if not UIManager.IsViewOpened(Const_UI_Lua.UIEnum.UIAnniversaryPrepare) then local modeData = MDL.OperationActivity.ActivityBaseData[private.ActivityType]:GetDataByActivityID(private.activityId) UIManager.OpenView(Const_UI_Lua.UIEnum.UIAnniversaryPrepare, {activityId = private.activityId}, modeData.PrefabMode) end end return AnniversaryPrepare_Controller