local EventSystem = require('Event/EventSystem') local enter_world_pb = require 'Proto/enter_world_pb' local Name_Model = {} local private = {} --Name_Model Name_Model.NameMaxLen = DataSheetManager.ConstData:GetDataByID("NameMaxLength").IntValue --名字最大长度 --Name_Model function Name_Model.OnStartup() NetManager.RegisterMsgCB(MessageEnums.MessageAccountRandomName, private.RandomNameResponse) NetManager.RegisterMsgCB(MessageEnums.MessageAccountNamed, private.UINamePanelOKResponse) private.lastNamedTime = nil private.namedFreeNums = nil private.isChangeName = true end -- 大于0表示有免费改名次数;先判断等级再判断次数 function Name_Model.SetNamedFreeNums(freeNums) private.namedFreeNums = freeNums end function Name_Model.GetNamedFreeNums() return private.namedFreeNums or 0 end function Name_Model.SetLastNamedTime(lastTime) private.lastNamedTime = lastTime end function Name_Model.GetLastNamedTime() return private.lastNamedTime end function Name_Model.SendGetRandomName() local msg = enter_world_pb.AccountRandomNameReq() NetManager.SendMessage(MessageEnums.MessageAccountRandomName, msg) end function private.RandomNameResponse(msgResp) if msgResp.Resp.Code == 0 then CTL.Name.SetNameList(msgResp.randomName) CTL.Name.RespRandomName() EventSystem.Dispatch(EventID.UI_RefreshRandomName) end end function Name_Model.SendAccountName(tempName, gender, isChangeName) local msg = enter_world_pb.AccountNamedReq() msg.name = tempName msg.sex = gender private.isChangeName = isChangeName NetManager.SendMessage(MessageEnums.MessageAccountNamed, msg) end function private.UINamePanelOKResponse(msgResp) if msgResp.Resp.Code == 0 then -- 如果玩家更换了性别,并且当前装备是默认头像,则需要切换为对应性别的默认头像 if private.isChangeName and msgResp.sex ~= MDL.Player.GetSelfGender() then local portraitId = CTL.Character.GetDefaultHeadByGender(msgResp.sex) MDL.Character.PortraitChangeRequest(portraitId) end MDL.Player.SetSelfGender(msgResp.sex) CTL.Name.RespUINamePanel(msgResp.name) UIManager.CloseView(Const_UI_Lua.UIEnum.UINamePanel) UIManager.CloseView(Const_UI_Lua.UIEnum.UIRenamePanel) BIManager.DispatchBIClientEvent(BIManager.EventName.CreatName) --增加起号服务器信息埋点,B站提审服不发这个打点 if SDKUtil.ChannelID ~= LuaConst.SDKChannelId.BiliBili or not MDL.Login.IsReviewService then SDKUtil.CreateNewRole() end BIManager.DispatchBIClientEvent(BIManager.EventName.user_server_, SDKUtil.PlayerServerId) CTL.Sound.PlayGameSound("UI_xingming") -- 如果玩家更换了性别,并且当前装备是默认头像,则需要切换为对应性别的默认头像 if msgResp.sex ~= MDL.Player.GetSelfGender() and CTL.Character.CurWearHeadIsInitialHead() then local portraitId = CTL.Character.GetDefaultHeadByGender(msgResp.sex) MDL.Character.PortraitChangeRequest(portraitId) end end return msgResp end return Name_Model