MapHelper.cs 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. using System;
  2. namespace ET
  3. {
  4. public static class MapHelper
  5. {
  6. public static async ETVoid EnterMapAsync(string sceneName)
  7. {
  8. try
  9. {
  10. // 加载Unit资源
  11. ResourcesComponent resourcesComponent = ET.Game.Scene.GetComponent<ResourcesComponent>();
  12. await resourcesComponent.LoadBundleAsync($"unit.unity3d");
  13. // 加载场景资源
  14. await ET.Game.Scene.GetComponent<ResourcesComponent>().LoadBundleAsync("map.unity3d");
  15. // 切换到map场景
  16. using (SceneChangeComponent sceneChangeComponent = ET.Game.Scene.AddComponent<SceneChangeComponent>())
  17. {
  18. await sceneChangeComponent.ChangeSceneAsync(sceneName);
  19. }
  20. G2C_EnterMap g2CEnterMap = await ET.SessionComponent.Instance.Session.Call(new C2G_EnterMap()) as G2C_EnterMap;
  21. PlayerComponent.Instance.MyPlayer.UnitId = g2CEnterMap.UnitId;
  22. Game.Scene.AddComponent<OperaComponent>();
  23. Game.EventSystem.Run(EventIdType.EnterMapFinish);
  24. }
  25. catch (Exception e)
  26. {
  27. Log.Error(e);
  28. }
  29. }
  30. }
  31. }