--[[ 宠物改名界面 ]]-- local UIPetRenamePanel = UIViewClass() local CHANGE_NAME_COST = DataSheetManager.ConstData:GetDataByID("PetChangeName").IntListValue local CHANGE_NAME_ITEM_ID = CHANGE_NAME_COST[1] local CHANGE_NAME_COST_NUM = CHANGE_NAME_COST[2] function UIPetRenamePanel:OnOpened(context) self:RegistSystemEvent(EventID.UI_RefreshCurrency, self.SetChangeNamePanel) self:RegistSystemEvent(EventID.UI_RefreshRandomName, self.RefreshRandomName) UIUtils.SetActive(self.event_Random, false) UIUtils.SetLabelText(self.txt_Tips, Const_IDS.IDS_Pet_Rename) UIUtils.SetLabelText(self.UICommonPopUp.txt_Title, Const_IDS.IDS_PlayName_ReName) UIUtils.SetLabelText(self.Placeholder, Const_IDS.IDS_PlayName_Hint2) self.petInfo, self.petConfig = context.petInfo.Info, context.petInfo.Config UIUtils.SetActive(self.group_Gender.gameObject, false) self:SetChangeNamePanel() end function UIPetRenamePanel:OnBackButtonPressed() self:OnButtonClicked(self.UICommonPopUp.btn_Close) end function UIPetRenamePanel:OnButtonClicked(comp) if comp == self.UICommonPopUp.btn_Close then self:CloseView() elseif comp == self.btn_Sure then self:OnBtnOKClick() end end function UIPetRenamePanel:SetChangeNamePanel() UIUtils.SetActive(self.txt_LevelHint, false) UTL.Item.ItemIconWithoutBg(self.img_Icon, CHANGE_NAME_ITEM_ID) --首次命名不需要消耗 if string.isNilOrEmpty(self.petInfo.petName) then self.obj_State:SetState(1) UIUtils.SetLabel(self.txt_Count, "x" .. CHANGE_NAME_COST_NUM) else self.obj_State:SetState(0) if MDL.Currency.IsMoneyEnough(CHANGE_NAME_ITEM_ID, CHANGE_NAME_COST_NUM) then UIUtils.SetLabel(self.txt_Count, "x" .. CHANGE_NAME_COST_NUM) else UIUtils.SetLabel(self.txt_Count, UTL.Color.FormatRedColor("x" .. CHANGE_NAME_COST_NUM)) end end end function UIPetRenamePanel:OnBtnOKClick() local tempName = self.obj_input.text local uniqueID = self.petInfo.petUniqId if self:IsCanChangeName(tempName) and CTL.Name.IsNameLegal(tempName) then local content = string.FormatByIdsId(Const_IDS.IDS_PlayName_ReNameConfirmText, tempName) UTL.MessageBox.ShowOKCancelBox( Const_IDS.IDS_PlayName_ReNameConfirmTitle, content, function() MDL.Pet.PetChangeNameReq(uniqueID, tempName) UIManager.CloseView(Const_UI_Lua.UIEnum.UIPetRenamePanel) end ) end end function UIPetRenamePanel:IsCanChangeName(targetName) if string.isNilOrEmpty(targetName) then CTL.Tips.AddTipsMsg(Const_IDS.IDS_PlayName_CanNotBlank) return end if string.isNilOrEmpty(self.petInfo.petName) and targetName == UIUtils.GetLocalizedTxt(Const_IDS[self.petConfig.PetName]) then CTL.Tips.AddTipsMsg(Const_IDS["IDS_Pet_NameSame"]) return false end if targetName == self.petInfo.petName then CTL.Tips.AddTipsMsg(Const_IDS["IDS_Pet_NameSame"]) return false end return true end return UIPetRenamePanel