Add async execution to model window sdf generation button

This commit is contained in:
Wojtek Figat
2024-05-27 10:37:33 +02:00
parent 513afd603b
commit 553b6f1ee8

View File

@@ -2,6 +2,7 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.Reflection; using System.Reflection;
using System.Threading.Tasks;
using FlaxEditor.Content; using FlaxEditor.Content;
using FlaxEditor.Content.Import; using FlaxEditor.Content.Import;
using FlaxEditor.CustomEditors; using FlaxEditor.CustomEditors;
@@ -294,9 +295,17 @@ namespace FlaxEditor.Windows.Assets
private void OnRebuildSDF() private void OnRebuildSDF()
{ {
var proxy = (MeshesPropertiesProxy)Values[0]; var proxy = (MeshesPropertiesProxy)Values[0];
proxy.Asset.GenerateSDF(proxy.Window._importSettings.Settings.SDFResolution, _sdfModelLodIndex.Value, true, proxy.Window._backfacesThreshold); proxy.Window.Enabled = false;
proxy.Window.MarkAsEdited(); Task.Run(() =>
Presenter.BuildLayoutOnUpdate(); {
proxy.Asset.GenerateSDF(proxy.Window._importSettings.Settings.SDFResolution, _sdfModelLodIndex.Value, true, proxy.Window._backfacesThreshold);
FlaxEngine.Scripting.InvokeOnUpdate(() =>
{
proxy.Window.Enabled = true;
proxy.Window.MarkAsEdited();
Presenter.BuildLayoutOnUpdate();
});
});
} }
private void OnRemoveSDF() private void OnRemoveSDF()