| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141 |
- local UIPetContractAttributeView = require("UIPet/UIPetContractAttributeView_Generate")
- local IconPetItemCtr = require("Common/IconPetItemCtr")
- local pageToggleData = {}
- local baseAttrs = {}
- local addAttrs = {}
- function UIPetContractAttributeView:OnAwake(data)
- self.controller = require("UIPet/UIPetContractAttributeCtr"):new()
- self.controller:Init(self)
- self.controller:SetData(data)
- end
- function UIPetContractAttributeView:AddEventListener()
- ManagerContainer.LuaEventMgr:RegisterUIEvent(self.uiData.name)
- ManagerContainer.LuaEventMgr:RegisterUIEvent(self.uiData.name, UIEventNames.QUERY_PET_QIYUE_ATTRS_SUCCESS, self, self.OnQueryQiyueBattlePetAttrs)
- end
- function UIPetContractAttributeView: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 UIPetContractAttributeView:Init()
- self.controller:QueryPetDetailInfo()
- self:ClearTop()
- end
- function UIPetContractAttributeView:OnPageInEnd()
- self.super.OnPageInEnd(self)
-
- --CommonUtil.CreateToggleMouduleOnlyBtns(self, pageToggleData, self.toggleGroup, 1, self.OnValueChangedToggle)
- end
- function UIPetContractAttributeView:ClearTop()
- local unlockCount = self.controller:GetUnlockCount()
- for i = 1, 4 do
- local toggleItem = self["toggle"..i]
- toggleItem.petLock:SetActive(unlockCount < i)
- toggleItem.iconPetItem:SetActive(false)
- toggleItem.toggle.interactable = false
- end
- end
- function UIPetContractAttributeView:RefreshTop()
- local unlockCount = self.controller:GetUnlockCount()
- for i = 1, 4 do
- local battlePetData = self.controller:GetBattlePetDataByIdx(i)
- local toggleItem = self["toggle"..i]
- toggleItem.petLock:SetActive(unlockCount < i)
- toggleItem.iconPetItem:SetActive(unlockCount >= i and battlePetData ~= nil)
- toggleItem.toggle.interactable = unlockCount >= i
- if unlockCount >= i and battlePetData ~= nil then
- IconPetItemCtr:SetData(self,toggleItem.iconPetItem, battlePetData, Enum.ItemIEnterType.Pet)
- end
- end
- end
- function UIPetContractAttributeView:OnQueryQiyueBattlePetAttrs()
- self.controller:RefreshQiyueAttrs()
- self:RefreshTop()
- CommonUtil.CreateToggleMouduleOnlyBtns(self, pageToggleData, self.toggleGroup, 1, self.OnValueChangedToggle)
- end
- function UIPetContractAttributeView:OnValueChangedToggle()
- if pageToggleData.toggleDefaultIndex == 1 then
- self:RefreshTotalQiyueAttrs()
- else
- self:RefreshTBattlePetQiyueAttrs()
- end
- end
- function UIPetContractAttributeView:RefreshTotalQiyueAttrs()
- self.noContract:SetActive(false)
- self.scrollView:SetActive(true)
- local baseAttrs, addAttrs = self.controller:GetTotalQiyueAttrs()
- self:RefreshBottomAttrs(baseAttrs, addAttrs)
- end
- function UIPetContractAttributeView:RefreshTBattlePetQiyueAttrs()
- local idx = pageToggleData.toggleDefaultIndex - 1
- local hasQiyue = self.controller:IsPetHaveQiyueByIdx(idx)
- self.noContract:SetActive(not hasQiyue)
- self.scrollView:SetActive(hasQiyue)
- if hasQiyue then
- local baseAttrs, addAttrs = self.controller:GetPetQiyueAttrsByIdx(idx)
- self:RefreshBottomAttrs(baseAttrs, addAttrs)
- end
- end
- function UIPetContractAttributeView:RefreshBottomAttrs(baseAttrs, addAttrs)
- CommonUtil.LoopGridViewEleCreate(self, self.baseSView.loopVerticalScrollRect, self.baseSView.content.gridLayoutGroup, baseAttrs, 0, function (itemLua, idx)
- CommonUtil.UpdateItemPrefab(self, itemLua, baseAttrs[idx + 1])
- end)
- CommonUtil.LoopGridViewEleCreate(self, self.addSView.loopVerticalScrollRect, self.addSView.content.gridLayoutGroup, addAttrs, 0, function (itemLua, idx)
- CommonUtil.UpdateItemPrefab(self, itemLua, addAttrs[idx + 1])
- end)
- self.addSView:SetActive(#addAttrs > 0)
- self.none:SetActive(#addAttrs == 0)
- end
- function UIPetContractAttributeView:RemoveEventListener()
- ManagerContainer.LuaEventMgr:Unregister(self.uiData.name)
- end
- function UIPetContractAttributeView:AddUIEventListener()
- self.uiBase:AddButtonEventListener(self.AnyBtn.button, self, self.OnCloseClick)
- self.uiBase:AddButtonEventListener(self.btnClose.button, self, self.OnCloseClick)
- end
- function UIPetContractAttributeView:OnCloseClick()
- self:UIClose()
- end
- function UIPetContractAttributeView:OnHide()
- end
- function UIPetContractAttributeView:OnShow(data)
- self.controller:SetData(data)
- end
- function UIPetContractAttributeView:OnClose()
- end
- function UIPetContractAttributeView:OnDispose()
- self.controller:OnDispose()
- end
- return UIPetContractAttributeView
|