using ETModel; namespace ETHotfix { [Event(EventIdType.AfterScenesAdd)] public class AfterScenesAdd_CreateScene: AEvent { public override void Run() { Options options = Game.Scene.GetComponent(); StartProcessConfig processConfig = StartProcessConfigCategory.Instance.Get(options.Process); Game.Scene.AddComponent(); Game.Scene.AddComponent(); Game.Scene.AddComponent(); Game.Scene.AddComponent(); Game.Scene.AddComponent(); // 发送普通actor消息 Game.Scene.AddComponent(); // 发送location actor消息 Game.Scene.AddComponent(); // 访问location server的组件 Game.Scene.AddComponent(); Game.Scene.AddComponent(); // 数值订阅组件 Game.Scene.AddComponent(); // 控制台组件 Game.Scene.AddComponent(); Game.Scene.AddComponent(processConfig.InnerAddress); RunInner().Coroutine(); } public async ETVoid RunInner() { var processScenes = StartSceneConfigCategory.Instance.GetByProcess(IdGenerater.Process); foreach (StartSceneConfig startConfig in processScenes) { await SceneFactory.Create(Game.Scene, startConfig.SceneId, startConfig.Zone, startConfig.Name, startConfig.Type, startConfig); } } } }