namespace ET { public class SceneChangeStart_AddComponent: AEvent { protected override async ETTask Run(EventType.SceneChangeStart args) { Scene currentScene = args.ZoneScene.CurrentScene(); // 加载场景资源 await ResourcesComponent.Instance.LoadBundleAsync($"{currentScene.Name}.unity3d"); // 切换到map场景 SceneChangeComponent sceneChangeComponent = null; try { sceneChangeComponent = Game.Scene.AddComponent(); { await sceneChangeComponent.ChangeSceneAsync(currentScene.Name); } } finally { sceneChangeComponent?.Dispose(); } currentScene.AddComponent(); } } }