local AnniversaryPrepare_Model = {} local private = {} local EventSystem = require('Event/EventSystem') local activity_anniversary_prepare_opt_pb = require('Proto.activity_anniversary_prepare_opt_pb') function AnniversaryPrepare_Model.OnStartup() NetManager.RegisterMsgCB(MessageEnums.MessageActivityAnniversaryPrepareInfo, private.InfoResp) NetManager.RegisterMsgCB(MessageEnums.MessageActivityAnniversaryPrepareReward, private.RewardResp) NetManager.RegisterMsgCB(MessageEnums.MessageActivityAnniversaryPrepareFire, private.FireResp) private.ActivityId = 0 private.heatProcess = {} private.rewardInfo = {} AnniversaryPrepare_Model.IsNeedDelayShowReward = false end function AnniversaryPrepare_Model.SetActivityID(activityId) private.ActivityId = activityId end function AnniversaryPrepare_Model.GetActivityID() return private.ActivityId end function AnniversaryPrepare_Model.GetHeatProcess(activityId) return private.heatProcess[activityId] or 0 end function AnniversaryPrepare_Model.GetRewardInfo(activityId) return private.rewardInfo[activityId] or {} end function AnniversaryPrepare_Model.InfoReq(activityId) local msg = activity_anniversary_prepare_opt_pb.ActivityAnniversaryPrepareInfoReq() msg.activityId = activityId NetManager.SendMessage(MessageEnums.MessageActivityAnniversaryPrepareInfo, msg) end function private.InfoResp(msgResp) if msgResp.Resp.Code == 0 then local activityId = msgResp.activityId private.heatProcess[activityId] = msgResp.activityProcessNum private.rewardInfo[activityId] = msgResp.RewardInfo EventSystem.Dispatch(EventID.UI_AnniversaryPrepare_InfoUpdate) end end function AnniversaryPrepare_Model.RewardReq(activityId, rewardPosNum) local msg = activity_anniversary_prepare_opt_pb.ActivityAnniversaryPrepareRewardReq() msg.activityId = activityId msg.rewardPosNum = rewardPosNum NetManager.SendMessage(MessageEnums.MessageActivityAnniversaryPrepareReward, msg) end function private.RewardResp(msgResp) if msgResp.Resp.Code == 0 then private.rewardInfo[msgResp.activityId] = msgResp.RewardInfo EventSystem.Dispatch(EventID.UI_AnniversaryPrepare_InfoUpdate) end end function AnniversaryPrepare_Model.FireReq(activityId, fireCfgId, fireNum) local msg = activity_anniversary_prepare_opt_pb.ActivityAnniversaryPrepareFireReq() msg.activityId = activityId msg.fireCfgId = fireCfgId msg.fireNum = fireNum AnniversaryPrepare_Model.IsNeedDelayShowReward = true NetManager.SendMessage(MessageEnums.MessageActivityAnniversaryPrepareFire, msg) end function private.FireResp(msgResp) if msgResp.Resp.Code == 0 then private.heatProcess[msgResp.activityId] = msgResp.activityProcessNum EventSystem.Dispatch(EventID.UI_AnniversaryPrepare_InfoUpdate) EventSystem.Dispatch(EventID.UI_AnniversaryPrepare_FireSuccess) end end --是否显示奖励UI (这里先不显示通用的奖励UI,稍后再显示) function AnniversaryPrepare_Model.IsDelayDisplayReward() return AnniversaryPrepare_Model.IsNeedDelayShowReward end return AnniversaryPrepare_Model