private async ETVoid EnterMapAsync() { try { // 加载Unit资源 ResourcesComponent resourcesComponent = ETModel.Game.Scene.GetComponent <ResourcesComponent>(); await resourcesComponent.LoadBundleAsync($"unit.unity3d"); // 加载场景资源 await ETModel.Game.Scene.GetComponent <ResourcesComponent>().LoadBundleAsync("map.unity3d"); // 切换到map场景 using (SceneChangeComponent sceneChangeComponent = ETModel.Game.Scene.AddComponent <SceneChangeComponent>()) { await sceneChangeComponent.ChangeSceneAsync(SceneType.Map); } G2C_EnterMap g2CEnterMap = await ETModel.SessionComponent.Instance.Session.Call(new C2G_EnterMap()) as G2C_EnterMap; PlayerComponent.Instance.MyPlayer.UnitId = g2CEnterMap.UnitId; Game.Scene.AddComponent <OperaComponent>(); Game.Scene.GetComponent <UIComponent>().Remove(UIType.UILobby); } catch (Exception e) { Log.Error(e); } }
public static async ETVoid EnterMapAsync() { try { // 加载Unit资源 ResourcesComponent resourcesComponent = ETModel.Game.Scene.GetComponent <ResourcesComponent>(); await resourcesComponent.LoadBundleAsync($"unit.unity3d"); // 加载场景资源 await ETModel.Game.Scene.GetComponent <ResourcesComponent>().LoadBundleAsync("map.unity3d"); // 切换到map场景 using (SceneChangeComponent sceneChangeComponent = ETModel.Game.Scene.AddComponent <SceneChangeComponent>()) { await sceneChangeComponent.ChangeSceneAsync(SceneType.Map.ToString()); } G2C_EnterMap g2CEnterMap = await ETModel.SessionComponent.Instance.Session.Call(new C2G_EnterMap()) as G2C_EnterMap; PlayerComponent.Instance.MyPlayer.UnitId = g2CEnterMap.UnitId; Game.Scene.AddComponent <OperaComponent>(); // 逻辑层不应该去调用UI,逻辑层只关心逻辑并且抛出事件,由UI层自己去订阅事件 Game.EventSystem.Run(EventIdType.EnterMapFinish); } catch (Exception e) { Log.Error(e); } }
public static async ETVoid EnterMapAsync() { try { // 切换到map场景 // 加载场景资源 await ETModel.Game.Scene.GetComponent <ResourcesComponent>().LoadSceneAsync(ABPathUtilities.GetScenePath(SceneType.Map)); // 创建5v5游戏 M5V5GameFactory.CreateM5V5Game(); // 临时引用5v5游戏 M5V5Game m5V5Game = Game.Scene.GetComponent <M5V5GameComponent>().m_5V5Game; G2C_EnterMap g2CEnterMap = await ETModel.SessionComponent.Instance.Session.Call(new C2G_EnterMap()) as G2C_EnterMap; //ETModel.Log.Info($"{DateTime.UtcNow}处理完成服务端发来的进入Map后的信息"); PlayerComponent.Instance.MyPlayer.UnitId = g2CEnterMap.UnitId; // 添加点击地图寻路组件 m5V5Game.AddComponent <MapClickCompoent>(); ETModel.Game.EventSystem.Run(ETModel.EventIdType.CloseLoadingUI); } catch (Exception e) { Log.Error(e); } }
/// <summary> /// 联网demo的切换场景 /// </summary> /// <returns></returns> public static async ETVoid EnterMapAsync() { try { // 获取加载ResourcesComponent组件 加载Unit资源(其中包含了demo骷髅的模型) ResourcesComponent resourcesComponent = ETModel.Game.Scene.GetComponent <ResourcesComponent>(); await resourcesComponent.LoadBundleAsync($"unit.unity3d"); //异步加载 // 加载map场景资源 await ETModel.Game.Scene.GetComponent <ResourcesComponent>().LoadBundleAsync("map.unity3d"); // 切换到map场景 using (SceneChangeComponent sceneChangeComponent = ETModel.Game.Scene.AddComponent <SceneChangeComponent>()) { await sceneChangeComponent.ChangeSceneAsync(SceneType.Map); } //发送消息到服务器 G2C_EnterMap g2CEnterMap = await ETModel.SessionComponent.Instance.Session.Call(new C2G_EnterMap()) as G2C_EnterMap; //把自己的ID设置为刚生成传过来的ID PlayerComponent.Instance.MyPlayer.UnitId = g2CEnterMap.UnitId; Game.Scene.AddComponent <OperaComponent>(); Game.EventSystem.Run(EventIdType.EnterMapFinish); } catch (Exception e) { Log.Error(e); } }
private async void EnterMap() { try { G2C_EnterMap g2CEnterMap = (G2C_EnterMap)await ETModel.SessionComponent.Instance.Session.Call(new C2G_EnterMap()); Game.Scene.GetComponent <UIComponent>().Remove(UIType.UILobby); } catch (Exception e) { Log.Error(e); } }
public static async ETVoid EnterMapAsync() { try { // 加载场景资源 await ETModel.Game.Scene.GetComponent <ResourcesComponent>().LoadBundleAsync("map.unity3d"); // 切换到map场景 using (SceneChangeComponent sceneChangeComponent = ETModel.Game.Scene.AddComponent <SceneChangeComponent>()) { await sceneChangeComponent.ChangeSceneAsync(SceneType.Map); } ETModel.Game.EventSystem.Run(ETModel.EventIdType.LoadAssets); // 加载Unit资源 //ResourcesComponent resourcesComponent = ETModel.Game.Scene.GetComponent<ResourcesComponent>(); // await resourcesComponent.LoadBundleAsync($"unit.unity3d"); G2C_EnterMap g2CEnterMap = await ETModel.SessionComponent.Instance.Session.Call(new C2G_EnterMap()) as G2C_EnterMap; PlayerComponent.Instance.MyPlayer.UnitId = g2CEnterMap.UnitId; foreach (var v in UnitComponent.Instance.GetAll()) { if (v.Id == PlayerComponent.Instance.MyPlayer.UnitId) { UnitComponent.Instance.MyUnit = v; v.AddComponent <CameraComponent>(); v.AddComponent <CommandComponent>().simulateFrame = g2CEnterMap.Frame; Log.Debug("收到的当前帧为" + g2CEnterMap.Frame); var list = v.GetComponent <ActiveSkillComponent>().skillList.Keys.ToArray(); var input = v.AddComponent <InputComponent>(); input.AddSkillToHotKey("Q", list[0]); //input.AddSkillToHotKey("W", list[1]); // 暂时没做使用技能时,位置输入和目标输入的数据传输. //input.AddSkillToHotKey("E", list[2]); break; } } //Game.Scene.AddComponent<OperaComponent>(); Game.EventSystem.Run(EventIdType.EnterMapFinish); } catch (Exception e) { Log.Error(e); } }
private async void EnterMap() { try { G2C_EnterMap g2CEnterMap = (G2C_EnterMap)await ETModel.SessionComponent.Instance.Session.Call(new C2G_EnterMap()); Game.Scene.GetComponent <UIComponent>().Remove(UIType.UILobby); PlayerComponent.Instance.MyPlayer.UnitId = g2CEnterMap.UnitId; await ETModel.Game.Scene.AddComponent <SceneChangeComponent>().ChangeSceneAsync(ETModel.SceneType.Map); } catch (Exception e) { Log.Error(e); } }
public static async ETVoid EnterMapAsync() { try { // 加载Unit资源 ResourcesComponent resourcesComponent = ETModel.Game.Scene.GetComponent <ResourcesComponent>(); await resourcesComponent.LoadBundleAsync($"unit.unity3d"); // 加载场景资源 await ETModel.Game.Scene.GetComponent <ResourcesComponent>().LoadBundleAsync("map.unity3d"); // 切换到map场景 using (SceneChangeComponent sceneChangeComponent = ETModel.Game.Scene.AddComponent <SceneChangeComponent>()) { await sceneChangeComponent.ChangeSceneAsync(SceneType.Map); } Player player = ETModel.Game.Scene.GetComponent <PlayerComponent>().MyPlayer; G2C_EnterMap g2CEnterMap = await ETModel.SessionComponent.Instance.Session.Call(new C2G_EnterMap() { PlayerId = player.Id }) as G2C_EnterMap; //PlayerComponent.Instance.MyPlayer.UnitId = g2CEnterMap.UnitId; player.UnitId = g2CEnterMap.UnitId; Debug.Log(" MapHelper-player.Id/player.UnitId: " + player.Id + " / " + player.UnitId); ///20190721 取消合并到Move里了 //Game.Scene.AddComponent<OperaComponent>(); Game.EventSystem.Run(EventIdType.EnterMapFinish); } catch (Exception e) { Log.Error(e); } }
public virtual async ETTask C2G_EnterMapHandler(ETModel.Session session, C2G_EnterMap request, G2C_EnterMap response, Action reply) { }
public override async ETTask C2G_EnterMapHandler(Session session, C2G_EnterMap request, G2C_EnterMap response, Action reply) { Console.WriteLine("C2G_EnterMapHandler"); Player player = session.GetComponent <SessionPlayerComponent>().Player; var createUnitRequest = new G2M_CreateUnit() { PlayerId = player.Id, GateSessionId = session.InstanceId }; createUnitRequest.UnitId = player.UnitId; // 在map服务器上创建战斗Unit long mapInstanceId = StartConfigComponent.Instance.GetByName("Map1").SceneInstanceId; var createUnit = (M2G_CreateUnit)await ActorMessageSenderComponent.Instance.Call(mapInstanceId, createUnitRequest); player.UnitId = createUnit.UnitId; DBComponent.Instance.Save(player).Coroutine(); response.UnitId = createUnit.UnitId; reply(); }