| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- local UIWorldBossRewardCtr = class("UIWorldBossRewardCtr", require("UICtrBase"))
- function UIWorldBossRewardCtr:Init(view)
- self.view = view
- end
- function UIWorldBossRewardCtr:SetData(data)
- self.asyncIdx = 0
- if data == nil then return end
- self.data = data
- end
- function UIWorldBossRewardCtr:GetAsyncIdx()
- self.asyncIdx = self.asyncIdx + 1
- return self.asyncIdx
- end
- function UIWorldBossRewardCtr:GetData()
- return self.data
- end
- function UIWorldBossRewardCtr:OnDispose()
- self.data = nil
- self.view = nil
- self.worldBossCfgId = nil
- self.rewardList = nil
- self.rewardDatas = nil
- self.rewardOpenIdx = nil
- end
- function UIWorldBossRewardCtr:InitData()
- local pointInfo = ManagerContainer.DataMgr.WorldBossData:GetWorldBossPointInfo()
- self.worldBossCfgId = pointInfo and pointInfo.bossId or 1
- self.rewardList = pointInfo and pointInfo.rewardList or {3}
- local worldBossCfgData = ManagerContainer.DataMgr.WorldBossData:GetWorldBossDataById(self:GetWorldBossCfgId(),0)
- if nil == worldBossCfgData then
- worldBossCfgData = ManagerContainer.DataMgr.WorldBossData:GetWorldBossDataById(self:GetWorldBossCfgId(),1)
- end
- local rewardDatas = {}
- if worldBossCfgData then
- rewardDatas[1] = self:FormatRewardData(worldBossCfgData.FirstReward)
- rewardDatas[2] = self:FormatRewardData(worldBossCfgData.SecondReward)
- rewardDatas[3] = self:FormatRewardData(worldBossCfgData.ThreeReward)
- end
- self.rewardDatas = rewardDatas
- self.rewardOpenIdx = 1
- local vipLv = ManagerContainer.DataMgr.UserData:GetVipLv()
- self.vipCfg = ManagerContainer.CfgMgr:GetVipCfgById(vipLv)
- self.hasSSR = false
- end
- function UIWorldBossRewardCtr:GetWorldBossCfgId()
- return self.worldBossCfgId
- end
- function UIWorldBossRewardCtr:GetCurVaildRewardType()
- return self:GetWorldBossRewardTypeById(self.rewardOpenIdx)
- end
- function UIWorldBossRewardCtr:OffsetNextVaildRewardType()
- self.rewardOpenIdx = self.rewardOpenIdx + 1
- local rewardType = self:GetWorldBossRewardTypeById(self.rewardOpenIdx)
- if rewardType then
- return true
- end
- return false
- end
- function UIWorldBossRewardCtr:GetWorldBossRemainNum()
- return #self.rewardList - self.rewardOpenIdx + 1
- end
- function UIWorldBossRewardCtr:GetWorldBossRewardTypeById(idx)
- return self.rewardList and self.rewardList[idx] or nil
- end
- function UIWorldBossRewardCtr:GetWorldBossRewardList()
- return self.rewardList
- end
- function UIWorldBossRewardCtr:GetWorldBossRewardsByType(rewardType)
- if rewardType then
- local rewardData = self.rewardDatas[rewardType]
- if rewardData then
- return rewardData
- end
- end
- return {cfgId = 1, num = 0}
- end
- function UIWorldBossRewardCtr:FormatRewardData(rewards)
- if rewards then
- if type(rewards[1]) == 'number' then
- rewards = {rewards}
- end
- local reward = {}
- for i = 1, #rewards do
- reward[#reward + 1] = {cfgId = rewards[i][1], num = rewards[i][2]}
- end
- return reward
- end
- return nil
- end
- function UIWorldBossRewardCtr:GetVipCfg()
- return self.vipCfg
- end
- return UIWorldBossRewardCtr
|