--[[ 宠物选择弹窗 ]]-- local UIPetChoosePopUp = UIViewClass() local LightLeft = ConstAssetPathConfig.LightLeft local LightRight = ConstAssetPathConfig.LightRight function UIPetChoosePopUp:OnCreated() self.modelComponentHandleArray = {} for i, v in ipairs(self.group_PetBox) do self.modelComponentHandleArray[i] = UTL.UIRender.CreateModelComponentDatas(v.petFormation) end end function UIPetChoosePopUp:OnOpened(context) UIManager.ActiveUIModle(false, "UIPetChoosePopUp") self.petCfgIdArray = {} local index = 0 for i, v in DataSheetManager.PetData:GetEnumerator() do if v.DefaultPet == 1 then index = index + 1 self:SetPetInfo(v, index) self.petCfgIdArray[index] = v.ID end end self.group_Toggle:SelectIndex(0) end function UIPetChoosePopUp:OnValueChanged(comp, value) local index = value + 1 self:OnSelectPet(index) end function UIPetChoosePopUp:OnSelectPet(index) self.selectIndex = index for i, v in ipairs(self.group_PetBox) do UIUtils.SetActive(v.select, false) end UIUtils.SetActive(self.group_PetBox[index].select, true) end function UIPetChoosePopUp:SetPetInfo(petCfg, index) UIUtils.SetLabelText(self.group_PetBox[index].lab_PetName, Const_IDS[petCfg.PetName]) self:LoadModel(petCfg, index) end function UIPetChoosePopUp:LoadModel(petCfg, index) local handle = self.modelComponentHandleArray[index] if index == 1 then UTL.UIRender.CreateRTSceneTrans(handle, LightLeft) else UTL.UIRender.CreateRTSceneTrans(handle, LightRight) end local modelPath, modelScale, showEquipmentID, renderID, idleAnimCilp, heroEffectPath, psEffectPath, modelXYZ, modelRot = CTL.Pet.GetRenderTextureModelParam(petCfg, self.__viewClassPath) UTL.UIRender.CreateRTRenderModel(handle, modelPath, modelScale, showEquipmentID, renderID, idleAnimCilp, heroEffectPath, psEffectPath) UTL.UIRender.SetRTRootParam(handle, modelXYZ, modelRot) end function UIPetChoosePopUp:OnButtonClicked(comp) if comp == self.btn_Choose then MDL.Pet.RewardGuidedPetReq(self.petCfgIdArray[self.selectIndex]) self:CloseView() end end function UIPetChoosePopUp:OnClosed() UIManager.ActiveUIModle(true, "UIPetChoosePopUp") for i, v in ipairs(self.modelComponentHandleArray) do UTL.UIRender.DisposeModelComponentData(v) end end return UIPetChoosePopUp