private IEnumerator CreateRoleCoroutine() { using (var blockingLayer = new BlockingLayerHelper(0)) { var _msg = NetManager.Instance.CreateCharacter(PlayerDataManager.Instance.ServerId, DataModel.CreateType, DataModel.CreateName); yield return(_msg.SendAndWaitUntilDone()); if (_msg.State == MessageState.Reply) { if (_msg.ErrorCode == (int)ErrorCodes.OK) { var _list = PlayerDataManager.Instance.CharacterLists; _list = _msg.Response.Info; // RefreshDate(msg.Response.Info, msg.Response.SelectId); //新需求,创建完人物直接进入游戏 GameLogic.PlayFirstEnterGameCG = 1; var _role = _list[_list.Count - 1]; var _SelectedRoleId = _role.CharacterId; var _serverName = PlayerDataManager.Instance.ServerName; var _serverId = PlayerDataManager.Instance.ServerId; PlayerDataManager.Instance.CharacterFoundTime = Extension.FromServerBinary(_msg.Response.CharacterFoundTime); var _ts = PlayerDataManager.Instance.CharacterFoundTime - DateTime.Parse("1970-1-1"); var _time = (int)_ts.TotalSeconds; PlatformHelper.CollectionCreateRoleDataForKuaifa(_SelectedRoleId.ToString(), DataModel.CreateName, _serverId.ToString(), _serverName, _time.ToString()); { //这里实现给主角名字赋值,为了后面对话时用 PlayerDataManager.Instance.PlayerDataModel.CharacterBase.Name = _role.Name; } #if UNITY_EDITOR var _skip = true; #else bool _skip = true; //bool skip = list.Count>1; #endif //播放创建角色时的CG /* * if (0 == DataModel.CreateType) * { * PlayCG.Instance.PlayCGFile("Video/jianshi.txt", * () => { NetManager.Instance.CallEnterGame(SelectedRoleId); }, skip, false); * } * else if (1 == DataModel.CreateType) * { * PlayCG.Instance.PlayCGFile("Video/fashi.txt", * () => { NetManager.Instance.CallEnterGame(SelectedRoleId); }, skip, false); * } * else if (2 == DataModel.CreateType) * { * PlayCG.Instance.PlayCGFile("Video/gongshou.txt", * () => { NetManager.Instance.CallEnterGame(SelectedRoleId); }, skip, false); * } * else * { * NetManager.Instance.CallEnterGame(SelectedRoleId); * }*/ NetManager.Instance.CallEnterGame(_SelectedRoleId); } else { if (_msg.ErrorCode == (int)ErrorCodes.Error_NAME_IN_USE) { if (GameSetting.Instance.ReviewState == 1) { // 防止无限递归 if (RandomNameCount > 100) { yield break; } RandomNameCount++; DataModel.CreateType = UnityEngine.Random.Range(0, 3); var actorTable = Table.GetActor(DataModel.CreateType); DataModel.CreateName = StringConvert.GetRandomName(actorTable.Sex); DataModel.CreateName = DataModel.CreateName.Trim(); NetManager.Instance.StartCoroutine(CreateRoleCoroutine()); } else { var _dicId = _msg.ErrorCode + 200000000; var _tbDic = Table.GetDictionary(_dicId); var _info = ""; _info = _tbDic.Desc[GameUtils.LanguageIndex]; UIManager.Instance.ShowMessage(MessageBoxType.Ok, _info, ""); } } else { UIManager.Instance.ShowNetError(_msg.ErrorCode); } } } else { Logger.Debug("CreateCharacter.................." + _msg.State); } } }
public IEnumerator CreateCharacterCoroutine() { using (var blockingLayer = new BlockingLayerHelper(0)) { var msg = NetManager.Instance.CreateCharacter(PlayerDataManager.Instance.ServerId, DataModel.CreateType, DataModel.CreateName); yield return(msg.SendAndWaitUntilDone()); if (msg.State == MessageState.Reply) { if (msg.ErrorCode == (int)ErrorCodes.OK) { var list = PlayerDataManager.Instance.CharacterLists; list = msg.Response.Info; // RefreshDate(msg.Response.Info, msg.Response.SelectId); //新需求,创建完人物直接进入游戏 GameLogic.PlayFirstEnterGameCG = 1; var role = list[list.Count - 1]; var SelectedRoleId = role.CharacterId; var serverName = PlayerDataManager.Instance.ServerName; var serverId = PlayerDataManager.Instance.ServerId; PlayerDataManager.Instance.CharacterFoundTime = Extension.FromServerBinary(msg.Response.CharacterFoundTime); var ts = PlayerDataManager.Instance.CharacterFoundTime - DateTime.Parse("1970-1-1"); var time = (int)ts.TotalSeconds; PlatformHelper.CollectionCreateRoleDataForKuaifa(SelectedRoleId.ToString(), DataModel.CreateName, serverId.ToString(), serverName, time.ToString()); { //这里实现给主角名字赋值,为了后面对话时用 PlayerDataManager.Instance.PlayerDataModel.CharacterBase.Name = role.Name; } #if UNITY_EDITOR var skip = true; #else bool skip = true; //bool skip = list.Count>1; #endif //播放创建角色时的CG /* * if (0 == DataModel.CreateType) * { * PlayCG.Instance.PlayCGFile("Video/jianshi.txt", * () => { NetManager.Instance.CallEnterGame(SelectedRoleId); }, skip, false); * } * else if (1 == DataModel.CreateType) * { * PlayCG.Instance.PlayCGFile("Video/fashi.txt", * () => { NetManager.Instance.CallEnterGame(SelectedRoleId); }, skip, false); * } * else if (2 == DataModel.CreateType) * { * PlayCG.Instance.PlayCGFile("Video/gongshou.txt", * () => { NetManager.Instance.CallEnterGame(SelectedRoleId); }, skip, false); * } * else * { * NetManager.Instance.CallEnterGame(SelectedRoleId); * }*/ NetManager.Instance.CallEnterGame(SelectedRoleId); } else { if (msg.ErrorCode == (int)ErrorCodes.Error_NAME_IN_USE) { var dicId = msg.ErrorCode + 200000000; var tbDic = Table.GetDictionary(dicId); var info = ""; info = tbDic.Desc[GameUtils.LanguageIndex]; UIManager.Instance.ShowMessage(MessageBoxType.Ok, info, ""); } else { UIManager.Instance.ShowNetError(msg.ErrorCode); } } } else { Logger.Debug("CreateCharacter.................." + msg.State); } } }