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