Close and restore AssetEditorWindows on scripting reload

This commit is contained in:
2024-07-31 23:08:52 +03:00
committed by Ari Vuollet
parent 4ddc765ee4
commit 3382aabefe
6 changed files with 38 additions and 20 deletions

View File

@@ -58,6 +58,8 @@ namespace FlaxEditor.Windows.Assets
InputActions.Add(options => options.Save, Save);
UpdateTitle();
ScriptsBuilder.ScriptsReloadBegin += OnScriptsReloadBegin;
}
/// <summary>
@@ -151,6 +153,8 @@ namespace FlaxEditor.Windows.Assets
/// <inheritdoc />
public override void OnDestroy()
{
ScriptsBuilder.ScriptsReloadBegin -= OnScriptsReloadBegin;
if (_item != null)
{
// Ensure to remove linkage to the item
@@ -160,6 +164,15 @@ namespace FlaxEditor.Windows.Assets
base.OnDestroy();
}
/// <inheritdoc />
protected virtual void OnScriptsReloadBegin()
{
if (!IsHidden)
{
Editor.Instance.Windows.AddToRestore(this);
}
}
#region IEditable Implementation
private bool _isEdited;

View File

@@ -268,8 +268,11 @@ namespace FlaxEditor.Windows.Assets
UpdateKnowledge();
}
private void OnScriptsReloadBegin()
/// <inheritdoc />
protected override void OnScriptsReloadBegin()
{
base.OnScriptsReloadBegin();
// TODO: impl hot-reload for BT to nicely refresh state (save asset, clear undo/properties, reload surface)
Close();
}

View File

@@ -124,8 +124,10 @@ namespace FlaxEditor.Windows.Assets
UpdateToolstrip();
}
private void OnScriptsReloadBegin()
/// <inheritdoc />
protected override void OnScriptsReloadBegin()
{
base.OnScriptsReloadBegin();
Close();
}

View File

@@ -286,8 +286,10 @@ namespace FlaxEditor.Windows.Assets
return false;
}
private void OnScriptsReloadBegin()
/// <inheritdoc />
protected override void OnScriptsReloadBegin()
{
base.OnScriptsReloadBegin();
_isScriptsReloading = true;
if (_asset == null || !_asset.IsLoaded)
@@ -310,11 +312,6 @@ namespace FlaxEditor.Windows.Assets
}
}
if (!IsHidden)
{
Editor.Instance.Windows.AddToRestore(this);
}
// Cleanup
Deselect();
Graph.MainActor = null;