local Name_Controller = {} local private = {} local EventSystem = require('Event/EventSystem') Name_Controller.nameList = {} private.nameIndex = 0 function Name_Controller.OnStartup() end function Name_Controller.OnShutdown() Name_Controller.nameList = {} end -- 自动打开起名界面 function Name_Controller.OpenNameView() if not string.isNilOrEmpty(PlayerInfoManager.PlayerName) or UIManager.IsViewOpened(Const_UI_Lua.UIEnum.UINamePanel) then return end local unlockParams = DataSheetManager.ConstData:GetDataByID("UnlockCreateNameParams").StringListValue if MDL.Unlock.IsComplete(tonumber(unlockParams[1]), unlockParams[2]) then EventSystem.UnRegist(EventID.ChildTaskFinish, Name_Controller.OpenNameView) UIManager.OpenView(Const_UI_Lua.UIEnum.UINamePanel) end end function Name_Controller.RespUINamePanel(name) local roleName = name if #roleName ~= 0 then --更名成功,给提示,并关闭界面 if BattleDataGetter.GetPlayerName() then CTL.Tips.AddTipsMsg(Const_IDS.IDS_PlayName_ReNameSuccess) end NotSyncBattleSetter.SetPlayerInfo(nil,roleName) AuxUtil.SetRoleName(roleName) EventSystem.Dispatch(EventID.UI_ChangeName) end end function Name_Controller.GetRandomName() if private.nameIndex <= 0 or private.nameIndex > 10 then --给服务器发协议,请求随机名 MDL.Name.SendGetRandomName() return "" else private.nameIndex = private.nameIndex + 1 return Name_Controller.nameList[private.nameIndex - 1] end end function Name_Controller.SetNameList(namelist) Name_Controller.nameList = namelist end function Name_Controller.RespRandomName() private.nameIndex = 1 end function Name_Controller.IsNameLegal(tempName, tempGender) local strLen = UTL.String.GetStrCharCount(tempName, 2) if strLen == 0 then -- 名字不能为空 CTL.Tips.AddTipsMsg(Const_IDS.IDS_PlayName_CanNotBlank) return false end if strLen > MDL.Name.NameMaxLen then -- 名字长度不能超过14个字符 CTL.Tips.AddTipsMsg(Const_IDS.IDS_ERROR_NETWORK_AUTH_1) return false end if BattleDataGetter.GetPlayerName() and tempName == BattleDataGetter.GetPlayerName() and tempGender == MDL.Player.GetSelfGender() then -- 前后名称重复,无需更改 CTL.Tips.AddTipsMsg(Const_IDS.IDS_PlayName_ReNameRepeat) return false end return true end return Name_Controller