123456789101112131415161718192021222324252627 |
- namespace ET.Client
- {
- public static class SceneChangeHelper
- {
-
- public static async ETTask SceneChangeTo(Scene clientScene, string sceneName, long sceneInstanceId)
- {
- clientScene.RemoveComponent<AIComponent>();
-
- CurrentScenesComponent currentScenesComponent = clientScene.GetComponent<CurrentScenesComponent>();
- currentScenesComponent.Scene?.Dispose();
- Scene currentScene = SceneFactory.CreateCurrentScene(sceneInstanceId, clientScene.Zone, sceneName, currentScenesComponent);
- UnitComponent unitComponent = currentScene.AddComponent<UnitComponent>();
-
-
- EventSystem.Instance.Publish(clientScene, new EventType.SceneChangeStart());
-
- Wait_CreateMyUnit waitCreateMyUnit = await clientScene.GetComponent<ObjectWait>().Wait<Wait_CreateMyUnit>();
- M2C_CreateMyUnit m2CCreateMyUnit = waitCreateMyUnit.Message;
- Unit unit = UnitFactory.Create(currentScene, m2CCreateMyUnit.Unit);
- unitComponent.Add(unit);
-
- clientScene.RemoveComponent<AIComponent>();
- }
- }
- }
|