protected override async void Run(Session session, C2G_CreateLandlordRoom message) { G2C_EnterMap response = new G2C_EnterMap(); try { Log.Debug(MongoHelper.ToJson(message)); Player player = session.GetComponent <SessionPlayerComponent>().Player; StartConfigComponent startConfigComponet = Game.Scene.GetComponent <StartConfigComponent>(); IPEndPoint matchAddress = startConfigComponet.MatchConfig.GetComponent <InnerConfig>().IPEndPoint; Match2G_CreateRoomResponse matchRoomRes = await Game.Scene.GetComponent <NetInnerComponent>().Get(matchAddress).Call <Match2G_CreateRoomResponse>(new G2Match_CreateRoomRequest()); long roomId = matchRoomRes.roomId; // 在map服务器上创建战斗Unit IPEndPoint mapAddress = startConfigComponet.MapConfigs[0].GetComponent <InnerConfig>().IPEndPoint; Session mapSession = Game.Scene.GetComponent <NetInnerComponent>().Get(mapAddress); M2G_CreateUnit createUnit = await mapSession.Call <M2G_CreateUnit>(new G2M_CreateUnit() { PlayerId = player.Id, GateSessionId = session.Id }); //player.UnitId = createUnit.UnitId; //response.UnitId = createUnit.UnitId; //response.Count = createUnit.Count; // reply(response); } catch (Exception e) { // ReplyError(response, e, reply); } }
public static async ETVoid EnterMapAsync(string sceneName) { try { // 加载Unit资源 ResourcesComponent resourcesComponent = DCET.Model.Game.Scene.GetComponent <ResourcesComponent>(); await resourcesComponent.LoadBundleAsync($"unit.unity3d"); // 加载场景资源 await DCET.Model.Game.Scene.GetComponent <ResourcesComponent>().LoadBundleAsync("map.unity3d"); // 切换到map场景 using (SceneChangeComponent sceneChangeComponent = DCET.Model.Game.Scene.AddComponent <SceneChangeComponent>()) { await sceneChangeComponent.ChangeSceneAsync(sceneName); } G2C_EnterMap g2CEnterMap = await DCET.Model.SessionComponent.Instance.Session.Call(new C2G_EnterMap()) as G2C_EnterMap; PlayerComponent.Instance.MyPlayer.UnitId = g2CEnterMap.UnitId; Game.Scene.AddComponent <OperaComponent>(); Game.EventSystem.Run(EventIdType.EnterMapFinish); } catch (Exception e) { Log.Error(e); } }
public async void OnLogin() { try { IPEndPoint connetEndPoint = NetworkHelper.ToIPEndPoint(ServerIP); Session session = Game.Scene.GetComponent <NetOuterComponent>().Create(connetEndPoint); M2C_Reload M2C_Reload = (M2C_Reload)await session.Call(new C2M_Reload() { Account = nickname.text, Password = password.text }); //connetEndPoint = NetworkHelper.ToIPEndPoint(M2C_Reload.Message); //Session gateSession = Game.Scene.GetComponent<NetOuterComponent>().Create(connetEndPoint); //Game.Scene.AddComponent<SessionComponent>().Session = gateSession; Game.Scene.AddComponent <SessionComponent>().Session = session; G2C_EnterMap G2C_EnterMap = (G2C_EnterMap)await Game.Scene.GetComponent <SessionComponent>().Session.Call(new C2G_EnterMap()); print("登陆gate成功!"); // 创建Player Player player = ETModel.ComponentFactory.CreateWithId <Player>(G2C_EnterMap.UnitId); PlayerComponent playerComponent = ETModel.Game.Scene.GetComponent <PlayerComponent>(); playerComponent.MyPlayer = player; uiLogin.SetActive(false); uiLobby.SetActive(true); } catch (Exception e) { Log.Error(e.ToString()); } }
private async void EnterMap() { try { G2C_EnterMap g2CEnterMap = (G2C_EnterMap)await SessionComponent.Instance.Session.Call(new C2G_EnterMap()); Hotfix.Scene.GetComponent <UIComponent>().Remove(UIType.UILobby); } catch (Exception e) { Log.Error(e.ToStr()); } }
private async void EnterMap() { try { G2C_EnterMap g2CEnterMap = (G2C_EnterMap)await SessionComponent.Instance.Session.Call(new C2G_EnterMap()); uiLobby.SetActive(false); Log.Info("EnterMap..."); } catch (Exception e) { Log.Error(e.ToString()); } }
private async void OnClickTestC2GEnterMap() { G2C_EnterMap g2C_EnterMap = (G2C_EnterMap)await ETModel.Game.Scene.GetComponent <ETModel.SessionComponent>().Session.Call(new C2G_EnterMap { }); if (g2C_EnterMap.Error != 0) { Debug.LogError("Error:" + g2C_EnterMap.Error); } MapConfig mapConfig = (MapConfig)ETModel.Game.Scene.GetComponent <ConfigComponent>().Get(typeof(MapConfig), 10001); ETModel.Game.Scene.AddComponent <BattleDataComponent>().InitActors(g2C_EnterMap.ActorVOs); Debug.Log(g2C_EnterMap.UnitId); SceneManager.Instance.EnterSceneById((int)mapConfig.Id); //LoadScene - > Send LoadComplete -> Enter }
public static async ETTask EnterMapAsync(Scene clientScene) { try { G2C_EnterMap g2CEnterMap = await clientScene.GetComponent <SessionComponent>().Session.Call(new C2G_EnterMap()) as G2C_EnterMap; clientScene.GetComponent <PlayerComponent>().MyId = g2CEnterMap.MyId; // 等待场景切换完成 await clientScene.GetComponent <ObjectWait>().Wait <WaitType.Wait_SceneChangeFinish>(); Game.EventSystem.Publish(clientScene, new EventType.EnterMapFinish()); } catch (Exception e) { Log.Error(e); } }