| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- local StarSignData = class("StarSignData", require("DataBase"))
- function StarSignData:ctor()
- self.activeList = {}
- self.currScore = 0
- self.nextLevelScore = 0
- self.lastLevelScore = 0
- self.target = 0
- self.light = false
- self.activeCount = 0
- end
- function StarSignData:InitData(data)
- end
- function StarSignData:SendStarInfoReq()
- ManagerContainer.NetManager:SendMessage(ProtoMsgId.CS_COMPETITION_STAR_INFO_REQ)
- end
- function StarSignData:RegisterNetEvents()
- ManagerContainer.NetManager:NetRegister(ProtoMsgId.SC_COMPETITION_STAR_DIVINE_ACK,self.OnStarRewardChange,self)
- ManagerContainer.NetManager:NetRegister(ProtoMsgId.SC_COMPETITION_STAR_CLOSE_REWARD_ACK,self.OnStarRewardRefresh,self)
- ManagerContainer.NetManager:NetRegister(ProtoMsgId.SC_COMPETITION_STAR_INFO_ACK,self.OnStarRewardInitInfo,self)
- end
- function StarSignData:GetStarTargetData()
- return self.target or 0
- end
- function StarSignData:OnStarRewardInitInfo(data)
- local stars = data.stars
- if stars then
- self.activeList = {}
- self.activeCount = #stars
- for i = 1, #stars do
- local tempData = stars[i]
- self.activeList[tempData] = tempData
- end
- end
- ManagerContainer.LuaEventMgr:Dispatch(UIEventNames.STAR_SIGN_INIT)
- end
- function StarSignData:OnStarRewardRefresh(data)
- self.activeList = {}
- self.activeCount = 0
- if data.reward_list and #data.reward_list > 0 then
- local rewards = {}
- for key, value in pairs(data.reward_list) do
- table.insert(rewards,{cfgId = value.key, num = value.value})
- end
- ManagerContainer.LuaUIMgr:Open(Enum.UIPageName.UIPOPGot,{rewards = rewards})
- end
- ManagerContainer.LuaEventMgr:Dispatch(UIEventNames.STAR_SIGN_INIT)
- end
- function StarSignData:GetStarActiveCount()
- return self.activeCount or 0
- end
- function StarSignData:GetStarActiveListData()
- return self.activeList or nil
- end
- function StarSignData:GetStarActiveLightData()
- return self.light or false
- end
- function StarSignData:OnStarRewardChange(data)
- local stars = data.stars
- if stars then
- self.activeList = {}
- self.activeCount = #stars
- for i = 1, #stars do
- local tempdata = stars[i]
- self.activeList[tempdata] = tempdata
- end
- end
- self.target = data.star
- self.light = data.light
- ManagerContainer.LuaEventMgr:Dispatch(UIEventNames.STAR_SIGN_CHANGE)
- end
- function StarSignData:Clear()
- self.activeList = nil
- self.currScore = nil
- self.nextLevelScore = nil
- self.lastLevelScore = nil
- self.target = nil
- self.light = nil
- self.activeCount = nil
- end
- function StarSignData:Destroy()
- if self.Clear then
- self:Clear()
- end
- self:UnRegisterNetEvents()
- end
- function StarSignData:UnRegisterNetEvents()
- ManagerContainer.NetManager:UnRegisterPbIdCallback(ProtoMsgId.SC_COMPETITION_STAR_DIVINE_ACK)
- ManagerContainer.NetManager:UnRegisterPbIdCallback(ProtoMsgId.SC_COMPETITION_STAR_CLOSE_REWARD_ACK)
- ManagerContainer.NetManager:UnRegisterPbIdCallback(ProtoMsgId.SC_COMPETITION_STAR_INFO_ACK)
- end
- return StarSignData
|