| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 |
- local UIPetStampTipsView = require("UIPet/UIPetStampTipsView_Generate")
- local IconItemCtr = require("Common/IconItemCtr")
- function UIPetStampTipsView:OnAwake(data)
- self.controller = require("UIPet/UIPetStampTipsCtr"):new()
- self.controller:Init(self)
- self.controller:SetData(data)
- end
- function UIPetStampTipsView:AddEventListener()
- ManagerContainer.LuaEventMgr:RegisterUIEvent(self.uiData.name)
- end
- function UIPetStampTipsView: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 UIPetStampTipsView:Init()
- self:Refresh()
- end
- function UIPetStampTipsView:Refresh()
- local stampData = self.controller:GetStampData()
- if not stampData then return end
- local cfgData = ManagerContainer.CfgMgr:GetPetEquipCfgDataById(stampData.cfgId)
- if not cfgData then return end
- local itemCfgData = ManagerContainer.CfgMgr:GetItemById(stampData.cfgId)
- if not itemCfgData then return end
- local lvCfgData = ManagerContainer.CfgMgr:GetPetEquipExpCfgDataByLvAndCfgId(stampData.lv, stampData.cfgId)
- if not lvCfgData then return end
- IconItemCtr:SetData(self, self.iconItem, stampData, Enum.ItemIEnterType.PetStamp)
- self.textName.text.text = I18N.T(cfgData.Name)
- CommonUtil.LoadIcon(self, Constant.Pet_Stamp_Slot_Icons[cfgData.Type], function (sprite)
- self.type1.image.image.sprite = sprite
- end)
- local dcs = cfgData.Desc or itemCfgData.Describe
- self.desTxt.text.text = I18N.T(dcs)
- local baseAttrs = clone(lvCfgData.Nature)
- table.sort(baseAttrs, function (a,b)
- return a[1] < b[1]
- end)
- local idx = 0
- for i = 1, #baseAttrs do
- idx = idx + 1
- CommonUtil.BatchCreateItemsLoopWithMould(self, self.attrItem, self.baseAttr.grid.transform, baseAttrs[i], i, Enum.ItemIEnterType.Attr)
- end
- local isMaxLv = stampData.lv >= cfgData.MaxLevel
- local canAdvance = cfgData.Advance > 0
- self.bottomBox:SetActive(not isMaxLv or (isMaxLv and canAdvance))
- local petId = self.controller:GetPetId()
- local slotIdx = self.controller:GetSlotIdx()
- local petData = ManagerContainer.DataMgr.PetDataMgr:GetPetDataById(petId)
- if petData and slotIdx then
- self.btnPetStampLvUp:SetActive(not isMaxLv)
- self.btnAdvance:SetActive(isMaxLv and canAdvance)
- if not isMaxLv then
- local lvUpRP = ManagerContainer.RedPointMgr.PetRPCtr:GetPetSlotLvUpRPState(petData.id, slotIdx)
- self.btnPetStampLvUp.uIRedPointRP:SetActive(lvUpRP)
- elseif isMaxLv and canAdvance then
- local advanceRP = ManagerContainer.RedPointMgr.PetRPCtr:GetPetSlotAdvanceRPState(petData.id, slotIdx)
- self.btnAdvance.uIRedPointRP:SetActive(advanceRP)
- end
- else
- self.btnPetStampLvUp.uIRedPointRP:SetActive(false)
- self.btnAdvance.uIRedPointRP:SetActive(false)
- end
- end
- function UIPetStampTipsView:RemoveEventListener()
- ManagerContainer.LuaEventMgr:Unregister(self.uiData.name)
- end
- function UIPetStampTipsView:AddUIEventListener()
- self.uiBase:AddButtonEventListener(self.btnClose.button, self, self.OnCloseClick)
- self.uiBase:AddButtonEventListener(self.AnyBtn.button, self, self.OnCloseClick)
- self.uiBase:AddButtonEventListener(self.btnChange.button, self, self.OnChangeClick)
- self.uiBase:AddButtonEventListener(self.btnPetStampLvUp.button, self, self.OnLvUpClick)
- self.uiBase:AddButtonEventListener(self.btnAdvance.button, self, self.OnLvUpClick)
- end
- function UIPetStampTipsView:OnCloseClick()
- self:UIClose()
- end
- function UIPetStampTipsView:OnChangeClick()
- self:UIClose()
- local stampData = self.controller:GetStampData()
- local data = {curStamp = stampData, type = stampData.type, slotIdx = self.controller:GetSlotIdx(), petId = self.controller:GetPetId()}
- ManagerContainer.LuaUIMgr:Open(Enum.UIPageName.UIPetStampList, data)
- end
- function UIPetStampTipsView:OnLvUpClick()
- self:UIClose()
- ManagerContainer.LuaUIMgr:Open(Enum.UIPageName.UIStampLvUp, self.controller:GetData())
- end
- function UIPetStampTipsView:OnHide()
- end
- function UIPetStampTipsView:OnShow(data)
- self.controller:SetData(data)
- end
- function UIPetStampTipsView:OnClose()
- end
- function UIPetStampTipsView:OnDispose()
- self.controller:OnDispose()
- end
- return UIPetStampTipsView
|