using System; namespace ET.Client { public static class EnterMapHelper { public static async ETTask EnterMapAsync(Scene clientScene, string mapName) { try { var param = new C2G_EnterMap() { MapName = mapName }; G2C_EnterMap g2CEnterMap = await clientScene.GetComponent<SessionComponent>().Session.Call(param) as G2C_EnterMap; if(g2CEnterMap.Error != 0) { //TODO: Error处理 Log.Error(g2CEnterMap.Message); return; } SceneChangeHelper.SceneChangeTo(clientScene, mapName, g2CEnterMap.SceneId).Coroutine(); // 等待场景切换完成 await clientScene.GetComponent<ObjectWait>().Wait<Wait_SceneChangeFinish>(); //告诉战斗服 i am ready clientScene.GetComponent<SessionComponent>().Session.Send(new BattleClientReady()); } catch (Exception e) { Log.Error(e); } } } }