Add button to reload scenes

This commit is contained in:
Mr. Capybara
2023-10-18 20:34:39 -04:00
parent 6c45141ef9
commit b2ba40b082
2 changed files with 17 additions and 0 deletions

View File

@@ -266,6 +266,19 @@ namespace FlaxEditor.Modules
Editor.StateMachine.ChangingScenesState.LoadScene(sceneId, additive);
}
/// <summary>
/// Reload all loaded scenes.
/// </summary>
public void ReloadScenes()
{
foreach (var scene in Level.Scenes)
{
var sceneId = scene.ID;
if (!Level.UnloadScene(scene))
Level.LoadScene(sceneId);
}
}
/// <summary>
/// Closes scene (async).
/// </summary>

View File

@@ -39,6 +39,7 @@ namespace FlaxEditor.Modules
ContextMenuSingleSelectGroup<int> _numberOfClientsGroup = new ContextMenuSingleSelectGroup<int>();
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();