Add displaying asset failed text if it occurs

This commit is contained in:
Wojtek Figat
2024-12-29 23:01:25 +01:00
parent 668f3fa68d
commit e7132086a5
8 changed files with 27 additions and 64 deletions

View File

@@ -586,16 +586,8 @@ namespace FlaxEditor.Surface
layout.Label("No parameters");
return;
}
if (asset.LastLoadFailed)
{
layout.Label("Failed to load asset");
if (Utilities.Utils.OnAssetProperties(layout, asset))
return;
}
if (!asset.IsLoaded)
{
layout.Label("Loading...", TextAlignment.Center);
return;
}
var parameters = window.VisjectSurface.Parameters;
CustomEditors.Editors.GenericEditor.OnGroupsBegin();
for (int i = 0; i < parameters.Count; i++)

View File

@@ -1496,5 +1496,15 @@ namespace FlaxEditor.Utilities
}
return path;
}
internal static bool OnAssetProperties(CustomEditors.LayoutElementsContainer layout, Asset asset)
{
if (asset == null || !asset.IsLoaded)
{
layout.Label(asset != null && asset.LastLoadFailed ? "Failed to load" : "Loading...", TextAlignment.Center);
return true;
}
return false;
}
}
}

View File

@@ -100,7 +100,7 @@ namespace FlaxEditor.Viewport.Previews
}
else if (!skinnedModel.IsLoaded)
{
Render2D.DrawText(style.FontLarge, "Loading...", new Rectangle(Float2.Zero, Size), style.ForegroundDisabled, TextAlignment.Center, TextAlignment.Center);
Render2D.DrawText(style.FontLarge, skinnedModel.LastLoadFailed ? "Failed to load" : "Loading...", new Rectangle(Float2.Zero, Size), style.ForegroundDisabled, TextAlignment.Center, TextAlignment.Center);
}
}

View File

@@ -178,11 +178,8 @@ namespace FlaxEditor.Windows.Assets
public override void Initialize(LayoutElementsContainer layout)
{
var proxy = (PropertiesProxy)Values[0];
if (proxy.Asset == null || !proxy.Asset.IsLoaded)
{
layout.Label("Loading...", TextAlignment.Center);
if (Utilities.Utils.OnAssetProperties(layout, proxy.Asset))
return;
}
// General properties
{

View File

@@ -51,7 +51,7 @@ namespace FlaxEditor.Windows.Assets
var asset = _window.Asset;
if (asset == null || !asset.IsLoaded)
{
Render2D.DrawText(style.FontLarge, "Loading...", new Rectangle(Float2.Zero, Size), style.ForegroundDisabled, TextAlignment.Center, TextAlignment.Center);
Render2D.DrawText(style.FontLarge, asset != null && asset.LastLoadFailed ? "Failed to load" : "Loading...", new Rectangle(Float2.Zero, Size), style.ForegroundDisabled, TextAlignment.Center, TextAlignment.Center);
}
}
}
@@ -159,11 +159,8 @@ namespace FlaxEditor.Windows.Assets
public override void Initialize(LayoutElementsContainer layout)
{
var proxy = (MeshesPropertiesProxy)Values[0];
if (proxy.Asset == null || !proxy.Asset.IsLoaded)
{
layout.Label("Loading...", TextAlignment.Center);
if (Utilities.Utils.OnAssetProperties(layout, proxy.Asset))
return;
}
proxy._materialSlotComboBoxes.Clear();
proxy._isolateCheckBoxes.Clear();
proxy._highlightCheckBoxes.Clear();
@@ -433,11 +430,8 @@ namespace FlaxEditor.Windows.Assets
public override void Initialize(LayoutElementsContainer layout)
{
var proxy = (MaterialsPropertiesProxy)Values[0];
if (proxy.Asset == null || !proxy.Asset.IsLoaded)
{
layout.Label("Loading...", TextAlignment.Center);
if (Utilities.Utils.OnAssetProperties(layout, proxy.Asset))
return;
}
base.Initialize(layout);
}
@@ -495,11 +489,8 @@ namespace FlaxEditor.Windows.Assets
public override void Initialize(LayoutElementsContainer layout)
{
var proxy = (UVsPropertiesProxy)Values[0];
if (proxy.Asset == null || !proxy.Asset.IsLoaded)
{
layout.Label("Loading...", TextAlignment.Center);
if (Utilities.Utils.OnAssetProperties(layout, proxy.Asset))
return;
}
base.Initialize(layout);
@@ -744,11 +735,8 @@ namespace FlaxEditor.Windows.Assets
public override void Initialize(LayoutElementsContainer layout)
{
var proxy = (ImportPropertiesProxy)Values[0];
if (proxy.Asset == null || !proxy.Asset.IsLoaded)
{
layout.Label("Loading...", TextAlignment.Center);
if (Utilities.Utils.OnAssetProperties(layout, proxy.Asset))
return;
}
// Import Settings
{

View File

@@ -80,11 +80,8 @@ namespace FlaxEditor.Windows.Assets
public override void Initialize(LayoutElementsContainer layout)
{
var proxy = (PropertiesProxy)Values[0];
if (proxy.Asset == null || !proxy.Asset.IsLoaded)
{
layout.Label("Loading...", TextAlignment.Center);
if (Utilities.Utils.OnAssetProperties(layout, proxy.Asset))
return;
}
base.Initialize(layout);

View File

@@ -50,7 +50,7 @@ namespace FlaxEditor.Windows.Assets
var asset = _window.Asset;
if (asset == null || !asset.IsLoaded)
{
Render2D.DrawText(style.FontLarge, "Loading...", new Rectangle(Float2.Zero, Size), style.ForegroundDisabled, TextAlignment.Center, TextAlignment.Center);
Render2D.DrawText(style.FontLarge, asset != null && asset.LastLoadFailed ? "Failed to load" : "Loading...", new Rectangle(Float2.Zero, Size), style.ForegroundDisabled, TextAlignment.Center, TextAlignment.Center);
}
}
}
@@ -175,11 +175,8 @@ namespace FlaxEditor.Windows.Assets
public override void Initialize(LayoutElementsContainer layout)
{
var proxy = (MeshesPropertiesProxy)Values[0];
if (proxy.Asset == null || !proxy.Asset.IsLoaded)
{
layout.Label("Loading...", TextAlignment.Center);
if (Utilities.Utils.OnAssetProperties(layout, proxy.Asset))
return;
}
proxy._materialSlotComboBoxes.Clear();
proxy._isolateCheckBoxes.Clear();
proxy._highlightCheckBoxes.Clear();
@@ -287,11 +284,8 @@ namespace FlaxEditor.Windows.Assets
public override void Initialize(LayoutElementsContainer layout)
{
var proxy = (SkeletonPropertiesProxy)Values[0];
if (proxy.Asset == null || !proxy.Asset.IsLoaded)
{
layout.Label("Loading...", TextAlignment.Center);
if (Utilities.Utils.OnAssetProperties(layout, proxy.Asset))
return;
}
var lods = proxy.Asset.LODs;
var loadedLODs = proxy.Asset.LoadedLODs;
var nodes = proxy.Asset.Nodes;
@@ -500,11 +494,8 @@ namespace FlaxEditor.Windows.Assets
public override void Initialize(LayoutElementsContainer layout)
{
var proxy = (MaterialsPropertiesProxy)Values[0];
if (proxy.Asset == null || !proxy.Asset.IsLoaded)
{
layout.Label("Loading...", TextAlignment.Center);
if (Utilities.Utils.OnAssetProperties(layout, proxy.Asset))
return;
}
base.Initialize(layout);
}
@@ -561,11 +552,8 @@ namespace FlaxEditor.Windows.Assets
public override void Initialize(LayoutElementsContainer layout)
{
var proxy = (UVsPropertiesProxy)Values[0];
if (proxy.Asset == null || !proxy.Asset.IsLoaded)
{
layout.Label("Loading...", TextAlignment.Center);
if (Utilities.Utils.OnAssetProperties(layout, proxy.Asset))
return;
}
base.Initialize(layout);
@@ -799,11 +787,8 @@ namespace FlaxEditor.Windows.Assets
public override void Initialize(LayoutElementsContainer layout)
{
var proxy = (RetargetPropertiesProxy)Values[0];
if (proxy.Asset == null || !proxy.Asset.IsLoaded)
{
layout.Label("Loading...", TextAlignment.Center);
if (Utilities.Utils.OnAssetProperties(layout, proxy.Asset))
return;
}
if (proxy.Setups == null)
{
proxy.Setups = new Dictionary<Asset, SetupProxy>();
@@ -1074,11 +1059,8 @@ namespace FlaxEditor.Windows.Assets
public override void Initialize(LayoutElementsContainer layout)
{
var proxy = (ImportPropertiesProxy)Values[0];
if (proxy.Asset == null || !proxy.Asset.IsLoaded)
{
layout.Label("Loading...", TextAlignment.Center);
if (Utilities.Utils.OnAssetProperties(layout, proxy.Asset))
return;
}
// Import Settings
{

View File

@@ -57,11 +57,8 @@ namespace FlaxEditor.Windows.Assets
{
var window = ((TexturePropertiesProxy)Values[0])._window;
var texture = window?.Asset;
if (texture == null || !texture.IsLoaded)
{
layout.Label("Loading...", TextAlignment.Center);
if (Utilities.Utils.OnAssetProperties(layout, texture))
return;
}
// Texture info
var general = layout.Group("General");