From 4afa86a150d21bb48d6c8cf0018416377faa9084 Mon Sep 17 00:00:00 2001 From: Ebise Lutica <7106976+EbiseLutica@users.noreply.github.com> Date: Thu, 1 Feb 2024 23:22:44 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=E3=82=B7=E3=83=BC=E3=83=B3=E3=81=8C?= =?UTF-8?q?=E8=AA=AD=E3=81=BF=E8=BE=BC=E3=81=BE=E3=82=8C=E3=82=8B=E3=81=A8?= =?UTF-8?q?=E3=81=8D=E3=81=AE=E3=82=A4=E3=83=99=E3=83=B3=E3=83=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Promete/PrometeApp.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Promete/PrometeApp.cs b/Promete/PrometeApp.cs index ddb4d46..0e3ad20 100644 --- a/Promete/PrometeApp.cs +++ b/Promete/PrometeApp.cs @@ -137,10 +137,7 @@ public void Dispose() /// 指定したシーンが存在しない。 public void LoadScene() where TScene : Scene { - currentScene?.OnDestroy(); - - currentScene = provider.GetService() ?? throw new ArgumentException($"The scene \"{nameof(TScene)}\" is not registered."); - currentScene.OnStart(); + LoadScene(typeof(TScene)); } /// @@ -153,6 +150,7 @@ public void LoadScene(Type typeScene) currentScene?.OnDestroy(); currentScene = provider.GetService(typeScene) as Scene ?? throw new ArgumentException($"The scene \"{typeScene}\" is not registered."); + SceneWillChange?.Invoke(); currentScene.OnStart(); } @@ -263,4 +261,6 @@ public PrometeApp Build() where TWindow : IWindow return new PrometeApp(services, rendererTypes); } } + + public event Action? SceneWillChange; }