From b2ba40b0825e5c6c2f4be693bda27151a4ff32ef Mon Sep 17 00:00:00 2001 From: "Mr. Capybara" Date: Wed, 18 Oct 2023 20:34:39 -0400 Subject: [PATCH 1/2] Add button to reload scenes --- Source/Editor/Modules/SceneModule.cs | 13 +++++++++++++ Source/Editor/Modules/UIModule.cs | 4 ++++ 2 files changed, 17 insertions(+) diff --git a/Source/Editor/Modules/SceneModule.cs b/Source/Editor/Modules/SceneModule.cs index 7789eb7c4..4fb28ac76 100644 --- a/Source/Editor/Modules/SceneModule.cs +++ b/Source/Editor/Modules/SceneModule.cs @@ -266,6 +266,19 @@ namespace FlaxEditor.Modules Editor.StateMachine.ChangingScenesState.LoadScene(sceneId, additive); } + /// + /// Reload all loaded scenes. + /// + public void ReloadScenes() + { + foreach (var scene in Level.Scenes) + { + var sceneId = scene.ID; + if (!Level.UnloadScene(scene)) + Level.LoadScene(sceneId); + } + } + /// /// Closes scene (async). /// diff --git a/Source/Editor/Modules/UIModule.cs b/Source/Editor/Modules/UIModule.cs index 1369ecd1e..55c318a97 100644 --- a/Source/Editor/Modules/UIModule.cs +++ b/Source/Editor/Modules/UIModule.cs @@ -39,6 +39,7 @@ namespace FlaxEditor.Modules ContextMenuSingleSelectGroup _numberOfClientsGroup = new ContextMenuSingleSelectGroup(); private ContextMenuButton _menuFileSaveScenes; + private ContextMenuButton _menuFileReloadScenes; private ContextMenuButton _menuFileCloseScenes; private ContextMenuButton _menuFileOpenScriptsProject; private ContextMenuButton _menuFileGenerateScriptsProjectFiles; @@ -525,6 +526,9 @@ namespace FlaxEditor.Modules var cm = MenuFile.ContextMenu; cm.VisibleChanged += OnMenuFileShowHide; _menuFileSaveAll = cm.AddButton("Save All", inputOptions.Save, Editor.SaveAll); + cm.AddSeparator(); + _menuFileReloadScenes = cm.AddButton("Reload Scenes", Editor.Scene.ReloadScenes); + cm.AddSeparator(); _menuFileSaveScenes = cm.AddButton("Save scenes", inputOptions.SaveScenes, Editor.Scene.SaveScenes); _menuFileCloseScenes = cm.AddButton("Close scenes", inputOptions.CloseScenes, Editor.Scene.CloseAllScenes); cm.AddSeparator(); From 70ccc79d54dc37d274c78144b27d6d4bc6e0909f Mon Sep 17 00:00:00 2001 From: "Mr. Capybara" Date: Thu, 19 Oct 2023 12:33:23 -0400 Subject: [PATCH 2/2] change button order --- Source/Editor/Modules/UIModule.cs | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/Source/Editor/Modules/UIModule.cs b/Source/Editor/Modules/UIModule.cs index 55c318a97..5bc380c29 100644 --- a/Source/Editor/Modules/UIModule.cs +++ b/Source/Editor/Modules/UIModule.cs @@ -526,12 +526,11 @@ namespace FlaxEditor.Modules var cm = MenuFile.ContextMenu; cm.VisibleChanged += OnMenuFileShowHide; _menuFileSaveAll = cm.AddButton("Save All", inputOptions.Save, Editor.SaveAll); - cm.AddSeparator(); - _menuFileReloadScenes = cm.AddButton("Reload Scenes", Editor.Scene.ReloadScenes); - cm.AddSeparator(); _menuFileSaveScenes = cm.AddButton("Save scenes", inputOptions.SaveScenes, Editor.Scene.SaveScenes); _menuFileCloseScenes = cm.AddButton("Close scenes", inputOptions.CloseScenes, Editor.Scene.CloseAllScenes); cm.AddSeparator(); + _menuFileReloadScenes = cm.AddButton("Reload Scenes", Editor.Scene.ReloadScenes); + cm.AddSeparator(); _menuFileOpenScriptsProject = cm.AddButton("Open scripts project", inputOptions.OpenScriptsProject, Editor.CodeEditing.OpenSolution); _menuFileGenerateScriptsProjectFiles = cm.AddButton("Generate scripts project files", inputOptions.GenerateScriptsProject, Editor.ProgressReporting.GenerateScriptsProjectFiles.RunAsync); _menuFileRecompileScripts = cm.AddButton("Recompile scripts", inputOptions.RecompileScripts, ScriptsBuilder.Compile);