Fix preserving Editor undo actions during play mode

This commit is contained in:
Wojtek Figat
2020-12-24 00:01:33 +01:00
parent 8347e15413
commit da389eea03
3 changed files with 4 additions and 6 deletions

View File

@@ -359,9 +359,7 @@ namespace FlaxEditor.Modules
{
Editor.SceneEditing.Deselect();
// TODO: this works in most cases fine but we still need to handle the case when assembly gets reloaded and type references are invalid
// TODO: To solve this: serialize type reference as 'namespace.name' in undo data storage
//if (fullCleanup)
if (fullCleanup)
{
Undo.Clear();
}

View File

@@ -36,7 +36,7 @@ namespace FlaxEditor.Progress.Handlers
_selectionCache.Cache();
// Clear references to the user scripts (we gonna reload an assembly)
Editor.Instance.Scene.ClearRefsToSceneObjects();
Editor.Instance.Scene.ClearRefsToSceneObjects(true);
}
private void OnScriptsReload()

View File

@@ -119,7 +119,7 @@ namespace FlaxEditor.States
CacheSelection();
// Remove references to the scene objects
Editor.Scene.ClearRefsToSceneObjects(true);
Editor.Scene.ClearRefsToSceneObjects();
// Apply game settings (user may modify them before the gameplay)
GameSettingsApplying?.Invoke();
@@ -158,7 +158,7 @@ namespace FlaxEditor.States
IsPaused = true;
// Remove references to the scene objects
Editor.Scene.ClearRefsToSceneObjects(true);
Editor.Scene.ClearRefsToSceneObjects();
// Restore editor scene
SceneRestoring?.Invoke();