| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- local NickNameCtr = {}
- ProtoMsgId = require("ProtoMsgId")
- --判断需要开启起名还是改名界面,true -- 起名;false -- 改名
- function NickNameCtr:NeedOpenCreate()
- local _nickName = ManagerContainer.DataMgr.UserData:GetOriUserNickname();
- if _nickName == "" or _nickName == nil or _nickName == "NickName" then
- return true;
- else
- return false;
- end
- end
- --打开对应的昵称界面
- function NickNameCtr:OpenNickNamePage(_isCreate)
- if _isCreate then
- ManagerContainer.LuaUIMgr:Open(Enum.UIPageName.UICreateName);
- else
- ManagerContainer.LuaUIMgr:Open(Enum.UIPageName.UIChangeName);
- end
- end
- --获取改名时候的错误信息,_ignoreCard是否忽略改名卡数量的判断
- function NickNameCtr:GetChangeNameError(_newName, _ignoreCard)
- --o:可以改名,1:改名卡不够,2:名字重复,无法修改,3:你要改成“新用户”,这也不行,4:空的,没输入,5:有非法字符, 6名字长处超出限制
- if not _ignoreCard then
- local _enoughCard = self:JudgeCard();
- if _enoughCard then
- return 1;
- end
- end
- if not self:JudgeNameLength(_newName) then
- if not _newName or _newName == "" then
- return 4;
- else
- return 6;
- end
- end
- if ManagerContainer.DataMgr.UserData:GetUserNickname() == _newName then return 2; end
- if _newName == I18N.T("NewGamePlayer") then return 3; end
- if not StringUtil.JudgeString_CN_EN_NUM(_newName) then return 5; end
- return 0
- end
- --判断改名卡是否充足
- function NickNameCtr:JudgeCard()
- local itemCfgId, itemNum = self:GetChangeNameConsume();
- return ManagerContainer.DataMgr.BagData:GetItemCountByCfgId(itemCfgId) < itemNum;
- end
- --发送改名消息
- function NickNameCtr:SendChangeName(_newName)
- ManagerContainer.NetManager:SendMessage(ProtoMsgId.CS_RENAME_REQ, { name = _newName })
- end
- --判断名字长度
- function NickNameCtr:JudgeNameLength(_name)
- if not _name or _name == "" then return false; end
- local _nameLength = StringUtil.GetStringByteLength(_name);
- local _nameLengthLimit = GlobalConfig.Instance:GetConfigIntValue(138);
- return _nameLength <= _nameLengthLimit;
- end
- function NickNameCtr:GetChangeNameConsume()
- local itemCfgId = 0
- local itemNum = 0
- local consumeStr = GlobalConfig.Instance:GetConfigStrValue(107)
- if consumeStr then
- local comuseArr = string.split(consumeStr, ':')
- if #comuseArr >= 2 then
- itemCfgId = tonumber(comuseArr[1])
- itemNum = tonumber(comuseArr[2])
- end
- end
- return itemCfgId, itemNum
- end
- return NickNameCtr
|