local UIRogueSelectSkillPopupPanel = UIViewClass() local SkillImagePath = ConstAssetPathConfig.SkillImagePath function UIRogueSelectSkillPopupPanel:OnOpened(context) self:RegistSystemEvent(EventID.RogueLike_SkillGradeUp, self.CloseView) UIUtils.SetLabelText(self.UICommonPopUp.txt_Title, Const_IDS.IDS_LevelTips_GradeUp) UIUtils.SetActive(self.UICommonPopUp.btn_Close, false) --UnityEngine.Time.timeScale = 0 local ownedSkillDic = {} for _, skillInfo in ipairs(BattleDataGetter.GetRogueLikeSkillInfo()) do ownedSkillDic[skillInfo[1]] = skillInfo[2] end for i = 1, 3 do local collection = self.group_skill[i] local skillId = context[i] if skillId then UIUtils.SetActive(collection.gameObject, true) local skillNodeCfg = DataSheetManager.RogueSkillNodeData:GetDataByNodeID(skillId) collection.state_Bg:SetState(skillNodeCfg.NodePhoto) local skillDataCfg = DataSheetManager.RogueSkillData:GetDataBySkillID(skillNodeCfg.BelongToSkill) if ownedSkillDic[skillNodeCfg.BelongToSkill] then UIUtils.SetActive(collection.group_SkillIcon.img_Level, true) UIUtils.SetLabel(collection.group_SkillIcon.txt_Level, ownedSkillDic[skillNodeCfg.BelongToSkill]) UIUtils.SetActive(collection.group_NewSkill, false) else UIUtils.SetActive(collection.group_SkillIcon.img_Level, false) UIUtils.SetActive(collection.group_NewSkill, true) end UIUtils.SetImageByAssetBundle(collection.group_SkillIcon.sprite_Skill, string.format(SkillImagePath, skillDataCfg.SkillIcon)) UIUtils.SetLabelText(collection.lab_Mine, Const_IDS[skillNodeCfg.NameIDS]) UIUtils.SetLabel(collection.txt_SkillDesc, UTL.String.FormatCombineTextByID(skillNodeCfg.NodeDescribe)) else UIUtils.SetActive(collection.gameObject, false) end end local times, totalTimes = BattleDataGetter.GetRogueLikeReRandomNum() if times > 0 then UIUtils.SetActive(self.btn_Ref.gameObject, true) UIUtils.SetLabel(self.lab_Ref, string.FormatByIdsId(Const_IDS.IDS_RogueButton_Refresh, times, totalTimes)) else UIUtils.SetActive(self.btn_Ref.gameObject, false) end self:SelectSkill(1) end function UIRogueSelectSkillPopupPanel:OnButtonClicked(comp) if comp == self.btn_Start then LuaInputManager.PressRogueSkillSelect(self.selectedIndex) self:CloseView() elseif comp == self.btn_Ref then LuaInputManager.SetSpecialCommand(LuaConst.SpecialCommandType.RogueLikeReRandom) else for i, collection in ipairs(self.group_skill) do if comp == collection.btn_Skill then self:SelectSkill(i) end end end end function UIRogueSelectSkillPopupPanel:SelectSkill(index) if self.selectedIndex == index then return end self.selectedIndex = index if self.selectedBoxImg then UIUtils.SetActive(self.selectedBoxImg, false) end self.selectedBoxImg = self.group_skill[index].img_SelectBox UIUtils.SetActive(self.selectedBoxImg, true) end function UIRogueSelectSkillPopupPanel:OnClosed() UIUtils.SetActive(self.UICommonPopUp.btn_Close, true) --UnityEngine.Time.timeScale = 1 end return UIRogueSelectSkillPopupPanel