PGRData/Script/matrix/xui/xuidormsecond/XUiDormReName.lua

81 lines
No EOL
2.6 KiB
Lua

local XUiDormReName = XClass(nil, "XUiDormReName")
local TextManager = CS.XTextManager
local NameLenLimit
function XUiDormReName:Ctor(ui, uiRoot)
NameLenLimit = CS.XGame.Config:GetInt("DormReNameLen")
self.GameObject = ui.gameObject
self.Transform = ui.transform
self.OnBtnCancelClickCb = function() self:OnBtnCancelClick() end
self.OnBtnConfirmClickCb = function() self:OnBtnConfirmClick() end
self.OnReNameRespCb = function() self:OnReNameResp() end
self.Msg = TextManager.GetText("DormReNameSuccess")
XTool.InitUiObject(self)
self:Init(uiRoot)
self.InputField.characterLimit = 0
end
function XUiDormReName:Init(uiRoot)
self.UiRoot = uiRoot
self.BtnReNameCancel.CallBack = self.OnBtnCancelClickCb
self.BtnTanchuangClose.CallBack = self.OnBtnCancelClickCb
self.TanchuangBgCloseBtn.CallBack = self.OnBtnCancelClickCb
self.BtnReNameConfirm.CallBack = self.OnBtnConfirmClickCb
self.BtnReNameCancel:SetName(TextManager.GetText("CancelText"))
self.BtnReNameConfirm:SetName(TextManager.GetText("ConfirmText"))
end
function XUiDormReName:OnBtnCancelClick()
self.GameObject:SetActive(false)
end
function XUiDormReName:OnBtnConfirmClick()
if not self.InputField or not self.InputField.textComponent then
return
end
local newname = self.InputField.text
local utf8Count = self.InputField.textComponent.cachedTextGenerator.characterCount - 1
if utf8Count > NameLenLimit then
local text = CS.XTextManager.GetText("DormNameMaxNameLengthTips", NameLenLimit)
XUiManager.TipMsg(text, XUiManager.UiTipType.Wrong)
return
end
if newname == self.Curname then
XUiManager.TipText("DormReNameErrorNoChange", XUiManager.UiTipType.Wrong)
return
end
if newname == "" then
XUiManager.TipText("DormReNameErrorText", XUiManager.UiTipType.Wrong)
return
end
if string.match(newname, "%s") then
XUiManager.TipText("DormReNameTips", XUiManager.UiTipType.Wrong)
return
end
self.Curname = newname
XDataCenter.DormManager.RequestDormitoryRename(self.ItemData, newname, self.OnReNameRespCb)
self:OnBtnCancelClick()
end
function XUiDormReName:OnReNameResp()
XUiManager.TipMsg(self.Msg, XUiManager.UiTipType.Success)
self.UiRoot:SetHostelName(self.Curname)
end
-- 更新数据
function XUiDormReName:OnRefresh(itemData)
if not itemData then
return
end
self.ItemData = itemData
self.Curname = XDataCenter.DormManager.GetDormName(itemData)
self.TxtCurName.text = self.Curname
end
return XUiDormReName