| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150 |
- local UICardTipsView = require("UICardTips/UICardTipsView_Generate")
- local IconItemCtr = require("Common/IconItemCtr")
- local defineLvStr = " <color=#1f9300>+%s</color>"
- local canOneKey = false
- function UICardTipsView:OnAwake(data)
- self.controller = require("UICardTips/UICardTipsCtr"):new()
- self.controller:Init(self)
- self.controller:SetData(data)
- end
- function UICardTipsView:AddEventListener()
- ManagerContainer.LuaEventMgr:RegisterUIEvent(self.uiData.name, UIEventNames.CARD_LIST_REFRESH, function()
- CommonUtil.BatchDisposeItems(self)
- --ManagerContainer.LuaUIMgr:AttrNoticeDisplay(self.controller:GetSlotIndex())
- self:Init()
- end)
- end
- function UICardTipsView:FillContent(data, uiBase)
- self.uiBase = uiBase
- local gameObject = self.uiBase:GetRoot()
- if gameObject ~= nil then
- self.gameObject = gameObject
- self.transform = gameObject.transform
- end
- self:InitGenerate(self.transform, data)
- self:Init()
- end
- function UICardTipsView:Init()
- canOneKey = false
- local cfgId = self.controller:GetCfgId()
- local itemCfgData = ManagerContainer.CfgMgr:GetItemById(cfgId)
- local slotIndex = self.controller:GetSlotIndex()
- local slotType = self.controller:GetSlotType()
- local slots = ManagerContainer.DataMgr.UserData:GetCurSlotInfos(slotIndex)
- local refineLv = slots[slotType].level
- -- 道具图标
- IconItemCtr:SetData(self, self.topItem.iconItem, self.controller.data, Enum.ItemIEnterType.HeroEquip)
- -- 道具名称
- local name = I18N.T(itemCfgData.Name)
- if refineLv > 0 then
- self.textName.text.text = name..(string.format(defineLvStr, refineLv))
- else
- self.textName.text.text = name
- end
- -- 道具类型
- self.textType.uILocalizeScript:SetContent("ItemTypeDes_" .. itemCfgData.ResType)
- --卡片信息
- local cardList = slots[slotType].card_id_list
- local list = {}
- for i = 1, Constant.CARD_SLOT_LIMIT do
- if cardList[i] ~= nil and cardList[i] > 0 then
- canOneKey = true
- end
- local condition = ManagerContainer.CfgMgr:GetCardUnlockConditionById(slotType * 100 + i)
- if condition ~= nil then
- list[#list + 1] =
- {cfgId = cardList[i] ~= nil and cardList[i] or 0, condition = condition.UnlockingCondition[1], idx = i,
- slotType = slotType, slotIndex = slotIndex}
- end
- if cardList[i] == nil or cardList[i] == 0 then
- self["slot"..i].slotBlueCard:SetActive(false)
- self["slot"..i].slotPurpleCard:SetActive(false)
- self["slot"..i].slotGoldCard:SetActive(false)
- else
- local cardData = ManagerContainer.CfgMgr:GetCardDataById(cardList[i])
- self["slot"..i].slotBlueCard:SetActive(cardData.CardType == Enum.CardType.NORMAL)
- self["slot"..i].slotPurpleCard:SetActive(cardData.CardType == Enum.CardType.MINIBOSS)
- self["slot"..i].slotGoldCard:SetActive(cardData.CardType == Enum.CardType.MVP)
- end
- end
- for k,v in pairs(list) do
- CommonUtil.BatchCreateItems(self, self["cardslotItem"..k], self.cardScrollView.content.transform, v)
- end
- --self.cardScrollView.content.verticalLayoutGroup:SetLayoutHorizontal()
- --self.cardScrollView.content.verticalLayoutGroup:SetLayoutVertical()
- ManagerContainer.RedPointMgr.HeroRPCtr:RefreshRoleCardSlotRP(slotIndex)
- end
- function UICardTipsView:ShowCardList(button, params)
- local logicData = params[0]
- local cardDatas = ManagerContainer.DataMgr.CardData:GetAllCardDatasByType(logicData.slotType)
- if cardDatas == nil or #cardDatas == 0 then
- ManagerContainer.LuaUIMgr:ErrorNoticeDisplay("NoCardTips")
- else
- self:UIClose()
- logicData.tipsData = self.controller:GetData()
- ManagerContainer.LuaUIMgr:Open(Enum.UIPageName.UICardListTips, logicData)
- end
- end
- function UICardTipsView:RemoveEventListener()
- ManagerContainer.LuaEventMgr:Unregister(self.uiData.name)
- end
- function UICardTipsView:AddUIEventListener()
- ManagerContainer.LuaEventMgr:RegisterUIEvent(self.uiData.name)
- self.uiBase:AddButtonEventListener(self.btnClose.button, function ()
- self:UIClose()
- end)
- self.uiBase:AddButtonEventListener(self.AnyBtn.button, function ()
- self:UIClose()
- end)
- self.uiBase:AddButtonEventListener(self.btnOneKeyRemove.button, function ()
- if not canOneKey then
- ManagerContainer.LuaUIMgr:ErrorNoticeDisplay(Enum.ActionNotiveType.CardUnloadTips)
- return
- end
- self.controller:SendOneKeyRemoveCard()
- end)
- end
- function UICardTipsView:OnHide()
- --if self.fxGoes ~= nil then
- -- for i =1, #self.fxGoes do
- -- ManagerContainer.ResMgr:RecycleGO(Constants.EffectPath,self.fxGoes[i].name,self.fxGoes[i].go)
- -- end
- -- self.fxGoes = {}
- --end
- CommonUtil.BatchDisposeItems(self)
- end
- function UICardTipsView:OnShow(data)
- self.controller:SetData(data)
- self:Init()
- end
- function UICardTipsView:OnClose()
- end
- function UICardTipsView:OnDispose()
- end
- return UICardTipsView
|