using System.Collections; using System.Collections.Generic; using UnityEngine; using System; namespace Snxxz.UI { [XLua.LuaCallCSharp] public class RoleModel : Model,IBeforePlayerDataInitialize,IAfterPlayerDataInitialize,IPlayerLoginOk { FriendsModel friendsModel { get { return ModelCenter.Instance.GetModel(); } } public string RecordPlayerNameKey; public override void Init() { } public void OnBeforePlayerDataInitialize() { } public void OnAfterPlayerDataInitialize() { } public void OnPlayerLoginOk() { RecordPlayerNameKey = StringUtility.Contact("RecordPlayerName",PlayerDatas.Instance.baseData.PlayerID); SendRenameInfoToPlayer(); } public override void UnInit() { } public string playerRename { get; private set; } public void SetRename(string rename) { playerRename = rename; } #region 协议 public void ServerRenameResult(HA921_tagUpdatePlayerNameResult renameResult) { switch ((RoleRenameResult)renameResult.Result) { case RoleRenameResult.MoneyErr: SysNotifyMgr.Instance.ShowTip("GoldErr"); break; case RoleRenameResult.NameRuleErr: ServerTipDetails.DisplayNormalTip(Language.Get("L1007")); break; case RoleRenameResult.NameLengErr: break; case RoleRenameResult.NameRepeatErr: SysNotifyMgr.Instance.ShowTip("RepeatName"); break; case RoleRenameResult.RenameFailErr: break; case RoleRenameResult.RenameSuccess: LocalSave.SetString(RecordPlayerNameKey, UIHelper.ServerStringTrim(PlayerDatas.Instance.baseData.PlayerName)); SysNotifyMgr.Instance.ShowTip("RenameSuccess01", playerRename); if(WindowCenter.Instance.IsOpen()) { WindowCenter.Instance.Close(); } GameNetSystem.Instance.Reconnect(); break; } } #endregion private void SendRenameInfoToPlayer() { if(PlayerPrefs.HasKey(RecordPlayerNameKey)) { string recordName = LocalSave.GetString(RecordPlayerNameKey); if(!string.IsNullOrEmpty(recordName)) { string info = Language.Get("RenameText_02",recordName, playerRename); friendsModel.SendChatInfoByGroup(GroupType.Friend, info); PlayerPrefs.DeleteKey(RecordPlayerNameKey); } } } public void OpenRolePanel() { var functionOrder = 0; var godWeaponModel = ModelCenter.Instance.GetModel(); var gatherSoulModel = ModelCenter.Instance.GetModel(); var reikiRootModel = ModelCenter.Instance.GetModel(); var fashionDressModel = ModelCenter.Instance.GetModel(); if (MainRedDot.Instance.roleTagRedpoint.state != RedPointState.None) { functionOrder = 0; } else if (reikiRootModel.redpoint.state == RedPointState.Simple) { functionOrder = 1; } else if (fashionDressModel.redpoint.state == RedPointState.Simple) { functionOrder = 2; } else if (godWeaponModel.magicianRedpoint.state != RedPointState.None) { functionOrder = 3; } else if (gatherSoulModel.redpoint.state != RedPointState.None) { functionOrder = 4; } WindowCenter.Instance.Open(false, functionOrder); } } }