| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- local UICardBlessTipsCtr = class("UICardBlessTipsCtr", require("UICtrBase"))
- function UICardBlessTipsCtr:Init(view)
- self.view = view
- end
- function UICardBlessTipsCtr:SetData(data)
- self.asyncIdx = 0
- if data == nil then return end
- self.data = data
- end
- function UICardBlessTipsCtr:GetAsyncIdx()
- self.asyncIdx = self.asyncIdx + 1
- return self.asyncIdx
- end
- function UICardBlessTipsCtr:GetData()
- return self.data
- end
- function UICardBlessTipsCtr:GetCurLv()
- return self.data.curLv
- end
- function UICardBlessTipsCtr:GetSuitCount()
- return self.data.count, self.data.totalCount
- end
- function UICardBlessTipsCtr:GetState()
- return self.data.state
- end
- function UICardBlessTipsCtr:GetSlot()
- return self.data.slot
- end
- function UICardBlessTipsCtr:GetCurCardSuitLv()
- local curLv = self:GetCurLv()
- local allCfgDatas = ManagerContainer.CfgMgr:GetAllCardSuitNewCfg()
- local isMax = curLv == #allCfgDatas
- return curLv, isMax
- end
- function UICardBlessTipsCtr:GetSatisfyCardCountByLv(lv)
- local slot = self:GetSlot()
- local equipedCards = {}
- for _,v in pairs(slot.slot_list) do
- local cardList = v.card_id_list
- for _,v1 in pairs(cardList) do
- if v1 and v1 > 0 then
- equipedCards[#equipedCards + 1] = v1
- end
- end
- end
- local cfgData = ManagerContainer.CfgMgr:GetCardSuitNewCfgById(lv)
- local enoughCount = {}
- local count = {}
- for j = #cfgData.TriggerConditions, 1, -1 do
- local condition = cfgData.TriggerConditions[j]
- local type = condition[1]
- local lv = condition[2]
- local num = condition[3]
- enoughCount[j] = num
- if not count[j] then
- count[j] = 0
- end
- for i = #equipedCards, 1, -1 do
- local cfgId = equipedCards[i]
- local cardCfgData = ManagerContainer.CfgMgr:GetCardDataById(cfgId)
- if cardCfgData and cardCfgData.CardType >= type and cardCfgData.CardLevel >= lv then
- count[j] = count[j] + 1
- table.remove(equipedCards, i)
- if count[j] >= enoughCount[j] then
- break
- end
- end
- end
- count[j] = math.min(count[j], enoughCount[j])
- end
- return enoughCount, count
- end
- function UICardBlessTipsCtr:OnDispose()
- self.data = nil
- self.view = nil
- end
- return UICardBlessTipsCtr
|