SceneFactory.cs 1.2 KB

1234567891011121314151617181920212223242526272829303132
  1. using System.Net.Sockets;
  2. namespace ET.Client
  3. {
  4. public static class SceneFactory
  5. {
  6. public static async ETTask<Scene> CreateClientScene(int zone, string name)
  7. {
  8. await ETTask.CompletedTask;
  9. Scene clientScene = EntitySceneFactory.CreateScene(zone, SceneType.Client, name, ClientSceneManagerComponent.Instance);
  10. clientScene.AddComponent<CurrentScenesComponent>();
  11. clientScene.AddComponent<ObjectWait>();
  12. clientScene.AddComponent<RoleInfoComponment>();
  13. EventSystem.Instance.Publish(clientScene, new EventType.AfterCreateClientScene());
  14. return clientScene;
  15. }
  16. public static Scene CreateCurrentScene(long id, int zone, string name, CurrentScenesComponent currentScenesComponent)
  17. {
  18. Scene currentScene = EntitySceneFactory.CreateScene(id, IdGenerater.Instance.GenerateInstanceId(), zone, SceneType.Current, name, currentScenesComponent);
  19. currentScenesComponent.Scene = currentScene;
  20. EventSystem.Instance.Publish(currentScene, new EventType.AfterCreateCurrentScene());
  21. return currentScene;
  22. }
  23. }
  24. }