EnterMapHelper.cs 1.1 KB

1234567891011121314151617181920212223242526272829303132
  1. using System;
  2. namespace ET.Client
  3. {
  4. public static class EnterMapHelper
  5. {
  6. public static async ETTask EnterMapAsync(Scene clientScene, string mapName)
  7. {
  8. try
  9. {
  10. var param = new C2G_EnterMap() { MapName = mapName };
  11. G2C_EnterMap g2CEnterMap = await clientScene.GetComponent<SessionComponent>().Session.Call(param) as G2C_EnterMap;
  12. if(g2CEnterMap.Error != 0)
  13. {
  14. //TODO: Error处理
  15. Log.Error(g2CEnterMap.Message);
  16. return;
  17. }
  18. SceneChangeHelper.SceneChangeTo(clientScene, mapName, g2CEnterMap.SceneId).Coroutine();
  19. // 等待场景切换完成
  20. await clientScene.GetComponent<ObjectWait>().Wait<Wait_SceneChangeFinish>();
  21. //告诉战斗服 i am ready
  22. clientScene.GetComponent<SessionComponent>().Session.Call(new C2G_EnterSceneReady()).Coroutine();
  23. }
  24. catch (Exception e)
  25. {
  26. Log.Error(e);
  27. }
  28. }
  29. }
  30. }