| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- local UISummonShowCtr = class("UISummonShowCtr", require("UICtrBase"))
- function UISummonShowCtr:Init(view)
- self.view = view
- end
- function UISummonShowCtr:SetData(data)
- self.asyncIdx = 0
- self.data = data
- self:InitData()
- end
- function UISummonShowCtr:GetAsyncIdx()
- self.asyncIdx = self.asyncIdx + 1
- return self.asyncIdx
- end
- function UISummonShowCtr:GetData()
- return self.data
- end
- function UISummonShowCtr:OnDispose()
- self.data = nil
- self.view = nil
- self.curShowIdx = nil
- self.showDatas = nil
- end
- function UISummonShowCtr:InitData()
- self.curShowIdx = 1
- local summonData = ManagerContainer.DataMgr.SummonDataMgr:GetSummonData()
- local showDatas = {}
- local summonCfgData = ManagerContainer.CfgMgr:GetSummonCfgById(summonData.summonType)
- if summonCfgData and summonCfgData.ShowItemType and #summonCfgData.ShowItemType > 0 then
- if summonData then
- if summonData.rewards then
- for i = 1, #summonData.rewards do
- local reward = summonData.rewards[i]
- if reward then
- local itemCfgData = ManagerContainer.CfgMgr:GetItemById(reward.cfgId)
- if CommonUtil.EleInTable(itemCfgData.ResType, summonCfgData.ShowItemType) then
- showDatas[#showDatas + 1] = reward
- end
- end
- end
- end
- end
- end
- if #showDatas <= 0 then
- self.showDatas = {{cfgId = 1, num = 0}}
- else
- self.showDatas = showDatas
- end
- end
- function UISummonShowCtr:GetShowData()
- return self.showDatas[self.curShowIdx]
- end
- function UISummonShowCtr:ChangeNextData()
- self.curShowIdx = self.curShowIdx + 1
- end
- function UISummonShowCtr:CheckMustShow()
- for i = self.curShowIdx + 1, #self.showDatas do
- local showData = self.showDatas[i]
- if showData then
- local itemCfgData = ManagerContainer.CfgMgr:GetItemById(showData.cfgId)
- if itemCfgData and itemCfgData.Quality >= 4 then
- self.curShowIdx = i
- return true
- end
- end
- end
- return false
- end
- function UISummonShowCtr:GetCurMustShowComplete()
- local showData = self:GetShowData()
- if showData then
- local itemCfgData = ManagerContainer.CfgMgr:GetItemById(showData.cfgId)
- if itemCfgData and itemCfgData.Quality >= 4 then
- return true
- end
- end
- return false
- end
- return UISummonShowCtr
|