| 12345678910111213141516171819202122232425262728293031323334353637 |
- using ETModel;
- namespace ETHotfix
- {
- public static class SceneFactory
- {
- public static async ETTask<Scene> Create(Entity parent, string name, SceneType sceneType)
- {
- return await Create(parent, IdGenerater.GenerateSceneId(), name, sceneType);
- }
-
- public static async ETTask<Scene> Create(Entity parent, long id, string name, SceneType sceneType)
- {
- Scene scene = EntityFactory.CreateScene(id, name, sceneType);
- scene.Parent = parent;
- scene.AddComponent<MailBoxComponent, MailboxType>(MailboxType.UnOrderMessageDispatcher);
- switch (scene.SceneType)
- {
- case SceneType.Realm:
- break;
- case SceneType.Gate:
- scene.AddComponent<GateSessionKeyComponent>();
- break;
- case SceneType.Map:
- scene.AddComponent<UnitComponent>();
- break;
- case SceneType.Location:
- scene.AddComponent<LocationComponent>();
- break;
- }
- return scene;
- }
- }
- }
|