public IEnumerator ChangeSceneOverCoroutine() { using (var blockingLayer = new BlockingLayerHelper(0)) { var data = PlayerDataManager.Instance.mInitBaseAttr; var msg = NetManager.Instance.ChangeSceneOver(data.SceneId, data.SceneGuid); yield return(msg.SendAndWaitUntilDone()); Logger.Debug("ChangeSceneOver-------" + msg.State); if (msg.State == MessageState.Reply) { if (msg.ErrorCode == (int)ErrorCodes.OK) { if (ObjManager.Instance != null && ObjManager.Instance.MyPlayer != null) { ObjManager.Instance.MyPlayer.Position = GameLogic.GetTerrainPosition(PlayerDataManager.Instance.mInitBaseAttr.X, PlayerDataManager.Instance.mInitBaseAttr.Y); } } else { UIManager.Instance.ShowNetError(msg.ErrorCode); } } } //yield return new WaitForSeconds(1); ShowChangeSceneMessage(); }
public IEnumerator RecycleItemCorotion() { using (var blockingLayer = new BlockingLayerHelper(0)) { var item = DataModel.ItemData; var msg = NetManager.Instance.RecycleBagItem(item.BagId, item.ItemId, item.Index, DataModel.RecycleCount); yield return(msg.SendAndWaitUntilDone()); if (msg.State == MessageState.Reply) { if (msg.ErrorCode == (int)ErrorCodes.OK) { //回收成功 var e1 = new ShowUIHintBoard(270110); EventDispatcher.Instance.DispatchEvent(e1); var e = new Close_UI_Event(UIConfig.ItemInfoUI); EventDispatcher.Instance.DispatchEvent(e); } else { UIManager.Instance.ShowNetError(msg.ErrorCode); } } else { Logger.Info(string.Format("SellItemCorotion....State = {0} ErroeCode = {1}", msg.State, msg.ErrorCode)); } } }
public IEnumerator PlayerSelectServerIdCoroutine() { if (!IsServerOpen()) { UIManager.Instance.ShowMessage(MessageBoxType.Ok, 300832); yield break; } //using (new BlockingLayerHelper(1)) var block = new BlockingLayerHelper(1); { var msg = NetManager.Instance.PlayerSelectServerId(mServerListDataModel.SelectedServer.ServerId); yield return(msg.SendAndWaitUntilDone()); Logger.Debug(msg.State.ToString()); if (msg.State == MessageState.Reply) { if (msg.ErrorCode == (int)ErrorCodes.OK) { PlayerDataManager.Instance.ServerId = msg.Request.ServerId; PlayerDataManager.Instance.LastLoginServerId = msg.Request.ServerId; PlayerDataManager.Instance.CharacterLists = msg.Response.Info; PlayerDataManager.Instance.SelectedRoleIndex = msg.Response.SelectId; PlayerDataManager.Instance.ServerName = mServerListDataModel.SelectedServer.ServerName; ResourceManager.PrepareScene(Resource.GetScenePath("SelectCharacter"), www => { ResourceManager.Instance.StartCoroutine(ResourceManager.LoadSceneImpl("SelectCharacter", www, () => { /* * UIManager.Instance.ShowUI(UIConfig.SelectRoleUI, * new SelectRoleArguments * { * CharacterSimpleInfos = PlayerDataManager.Instance.CharacterLists, * SelectId = msg.Response.SelectId, * ServerName = mServerListDataModel.SelectedServer.ServerName * });*/ block.Dispose(); })); }); } else { GameUtils.ShowLoginTimeOutTip(); block.Dispose(); } } else { block.Dispose(); } } }
private IEnumerator RequestNpcPosCorotion() { using (var blockingLayer = new BlockingLayerHelper(0)) { var msg = NetManager.Instance.GetSceneNpcPos(1); yield return(msg.SendAndWaitUntilDone()); if (msg.State == MessageState.Reply) { requestTime = 0.0f; RefreshMonsterList(msg.Response); } } }
private IEnumerator SellItemCorotion() { using (var _blockingLayer = new BlockingLayerHelper(0)) { var _item = DataModel.ItemData; var _count = DataModel.SellCount; var _msg = NetManager.Instance.SellBagItem(_item.BagId, _item.ItemId, _item.Index, DataModel.SellCount); yield return(_msg.SendAndWaitUntilDone()); if (_msg.State == MessageState.Reply) { if (_msg.ErrorCode == (int)ErrorCodes.OK) { var _e1 = new ShowUIHintBoard(223003); EventDispatcher.Instance.DispatchEvent(_e1); if (_item.Count == _count || _item.Count == 0) { //完全卖完数量才关闭窗口 _item.Count = 0; var _e = new Close_UI_Event(UIConfig.ItemInfoUI); EventDispatcher.Instance.DispatchEvent(_e); } else { _item.Count -= _count; } } else { UIManager.Instance.ShowNetError(_msg.ErrorCode); } } else { Logger.Info(string.Format("SellItemCorotion....State = {0} ErroeCode = {1}", _msg.State, _msg.ErrorCode)); } } }
public IEnumerator ChangeSceneOverCoroutine() { using (var blockingLayer = new BlockingLayerHelper(0)) { var data = PlayerDataManager.Instance.mInitBaseAttr; var msg = NetManager.Instance.ChangeSceneOver(data.SceneId, data.SceneGuid); yield return(msg.SendAndWaitUntilDone()); Logger.Debug("ChangeSceneOver-------" + msg.State); if (msg.State == MessageState.Reply) { if (msg.ErrorCode == (int)ErrorCodes.OK) { PlayerDataManager.Instance.TeamInviteClickFubenID = 0; SendSceneChangeEvent(); if (ObjManager.Instance != null && ObjManager.Instance.MyPlayer != null) { //ObjManager.Instance.MyPlayer.Position = // GameLogic.GetTerrainPosition(PlayerDataManager.Instance.mInitBaseAttr.X, // PlayerDataManager.Instance.mInitBaseAttr.Y); } var sceneExtData = msg.Response; if (GameLogic.Instance != null && GameLogic.Instance.Scene != null) { var scene = GameLogic.Instance.Scene; if (scene.TableScene.Type == (int)eSceneType.Fuben) { var listTb = new List <TriggerAreaRecord>(); Table.ForeachTriggerArea(table => { if (scene.SceneTypeId != table.SceneId || -1 == table.OffLineTrigger || !BitFlag.GetLow(sceneExtData, table.OffLineTrigger)) { return(true); } listTb.Add(table); return(true); }); if (listTb.Count > 0) { OptList <SceneAnimationTrigger> .List.Clear(); scene.transform.GetComponentsInChildren(OptList <SceneAnimationTrigger> .List); var triggers = OptList <SceneAnimationTrigger> .List; var __array2 = triggers; var __arrayLength2 = __array2.Count; for (var __i2 = 0; __i2 < __arrayLength2; ++__i2) { var trigger = __array2[__i2]; { foreach (var tb in listTb) { if (trigger.TriggerId == tb.ClientAnimation) { trigger.RunToEnd(); break; } } } } } } else if (scene.TableScene.Type == (int)eSceneType.Pvp) { if (sceneExtData == 1) { var e = new PvpFightReadyEent(); EventDispatcher.Instance.DispatchEvent(e); } } } } else { UIManager.Instance.ShowNetError(msg.ErrorCode); } } } //yield return new WaitForSeconds(1); ShowChangeSceneMessage(); }
private IEnumerator PlayerChooseServerIdCoroutine() { if (!IsServerOpen()) { UIManager.Instance.ShowMessage(MessageBoxType.Ok, 300832); yield break; } //using (new BlockingLayerHelper(1)) var _block = new BlockingLayerHelper(1); { var _msg = NetManager.Instance.PlayerSelectServerId(mServerListDataModel.SelectedServer.ServerId); yield return(_msg.SendAndWaitUntilDone()); Logger.Debug(_msg.State.ToString()); if (_msg.State == MessageState.Reply) { if (_msg.ErrorCode == (int)ErrorCodes.OK) { PlayerDataManager.Instance.ServerId = _msg.Request.ServerId; PlayerDataManager.Instance.LastLoginServerId = _msg.Request.ServerId; PlayerDataManager.Instance.CharacterLists = _msg.Response.Info; if (PlayerDataManager.Instance.CharacterLists.Count <= 0 && GameSetting.Instance.ReviewState == 1) { var e = new UIEvent_CreateRole(); EventDispatcher.Instance.DispatchEvent(e); } else { PlayerDataManager.Instance.SelectedRoleIndex = _msg.Response.SelectId; if (!string.IsNullOrEmpty(selectRoleName)) { for (int i = 0; i < _msg.Response.Info.Count; i++) { var player = _msg.Response.Info[i]; if (player.Name.Equals(selectRoleName)) { PlayerDataManager.Instance.SelectedRoleIndex = player.CharacterId; } } } PlayerDataManager.Instance.ServerName = mServerListDataModel.SelectedServer.ServerName; if (GameSetting.Instance.ReviewState == 1) { SoundManager.Instance.StopBGM(0.5f); NetManager.Instance.CallEnterGame(PlayerDataManager.Instance.SelectedRoleIndex); } else { ResourceManager.PrepareScene(Resource.GetScenePath("SelectCharacter"), www => { ResourceManager.Instance.StartCoroutine(ResourceManager.LoadSceneImpl("SelectCharacter", www, () => { /* * UIManager.Instance.ShowUI(UIConfig.SelectRoleUI, * new SelectRoleArguments * { * CharacterSimpleInfos = PlayerDataManager.Instance.CharacterLists, * SelectId = msg.Response.SelectId, * ServerName = mServerListDataModel.SelectedServer.ServerName * });*/ _block.Dispose(); })); }); } } } else { GameUtils.ShowLoginTimeOutTip(); _block.Dispose(); } } else { _block.Dispose(); } } }
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); } } }