Rename EditorViewport.HasLoadedAssets to HasContentLoaded and fix it for prefab auto-fit

Ref #4137
This commit is contained in:
2026-09-15 13:39:06 +02:00
parent 702d916621
commit d04d48490a
16 changed files with 32 additions and 16 deletions
@@ -52,7 +52,7 @@ namespace FlaxEditor.Content
/// <inheritdoc />
public override bool CanDrawThumbnail(ThumbnailRequest request)
{
return _preview.HasLoadedAssets && ThumbnailsModule.HasMinimumQuality((CubeTexture)request.Asset);
return _preview.HasContentLoaded && ThumbnailsModule.HasMinimumQuality((CubeTexture)request.Asset);
}
/// <inheritdoc />
@@ -39,7 +39,7 @@ namespace FlaxEditor.Content
/// <inheritdoc />
public override bool CanDrawThumbnail(ThumbnailRequest request)
{
return _preview.HasLoadedAssets && ThumbnailsModule.HasMinimumQuality((MaterialInstance)request.Asset);
return _preview.HasContentLoaded && ThumbnailsModule.HasMinimumQuality((MaterialInstance)request.Asset);
}
}
}
+1 -1
View File
@@ -39,7 +39,7 @@ namespace FlaxEditor.Content
/// <inheritdoc />
public override bool CanDrawThumbnail(ThumbnailRequest request)
{
return _preview.HasLoadedAssets && ThumbnailsModule.HasMinimumQuality((Material)request.Asset);
return _preview.HasContentLoaded && ThumbnailsModule.HasMinimumQuality((Material)request.Asset);
}
}
}
+1 -1
View File
@@ -83,7 +83,7 @@ namespace FlaxEditor.Content
/// <inheritdoc />
public override bool CanDrawThumbnail(ThumbnailRequest request)
{
return _preview.HasLoadedAssets && ThumbnailsModule.HasMinimumQuality((Model)request.Asset);
return _preview.HasContentLoaded && ThumbnailsModule.HasMinimumQuality((Model)request.Asset);
}
/// <inheritdoc />
@@ -133,7 +133,7 @@ namespace FlaxEditor.Content
return false;
// Ensure assets are ready to be used
if (!_preview.HasLoadedAssets)
if (!_preview.HasContentLoaded)
return false;
var asset = (ParticleEmitter)request.Asset;
if (!asset.IsLoaded)
@@ -104,7 +104,7 @@ namespace FlaxEditor.Content
return false;
// Ensure assets are ready to be used
if (!_preview.HasLoadedAssets)
if (!_preview.HasContentLoaded)
return false;
var asset = (ParticleSystem)request.Asset;
if (!asset.IsLoaded)
+1 -1
View File
@@ -118,7 +118,7 @@ namespace FlaxEditor.Content
/// <inheritdoc />
public override bool CanDrawThumbnail(ThumbnailRequest request)
{
if (!_preview.HasLoadedAssets)
if (!_preview.HasContentLoaded)
return false;
// Check if asset is streamed enough
@@ -106,7 +106,7 @@ namespace FlaxEditor.Content
/// <inheritdoc />
public override bool CanDrawThumbnail(ThumbnailRequest request)
{
return _preview.HasLoadedAssets && ThumbnailsModule.HasMinimumQuality((SkinnedModel)request.Asset);
return _preview.HasContentLoaded && ThumbnailsModule.HasMinimumQuality((SkinnedModel)request.Asset);
}
/// <inheritdoc />
+1 -1
View File
@@ -423,7 +423,7 @@ namespace FlaxEditor.Viewport
/// <summary>
/// Gets a value indicating whether this viewport has loaded dependant assets.
/// </summary>
public virtual bool HasLoadedAssets => true;
public virtual bool HasContentLoaded => true;
/// <summary>
/// The 'View' widget button context menu.
@@ -396,6 +396,22 @@ namespace FlaxEditor.Viewport
ViewportCamera.ShowActors(TransformGizmo.SelectedParents, ref orient);
}
private static bool ActorHasContentLoaded(Actor a)
{
if (!a.HasContentLoaded)
return false;
var children = a.ChildrenCount;
for (int i = 0; i < children; i++)
{
if (!ActorHasContentLoaded(a.GetChild(i)))
return false;
}
return true;
}
/// <inheritdoc />
public override bool HasContentLoaded => base.HasContentLoaded && (Instance == null || ActorHasContentLoaded(Instance));
/// <inheritdoc />
public EditorViewport Viewport => this;
@@ -245,7 +245,7 @@ namespace FlaxEditor.Viewport.Previews
}
/// <inheritdoc />
public override bool HasLoadedAssets => base.HasLoadedAssets && Sky.HasContentLoaded && EnvProbe.HasContentLoaded && PostFxVolume.HasContentLoaded;
public override bool HasContentLoaded => base.HasContentLoaded && Sky.HasContentLoaded && EnvProbe.HasContentLoaded && PostFxVolume.HasContentLoaded;
/// <inheritdoc />
public override void OnDestroy()
@@ -237,7 +237,7 @@ namespace FlaxEditor.Viewport.Previews
}
/// <inheritdoc />
public override bool HasLoadedAssets => base.HasLoadedAssets && _previewMaterial.IsLoaded && _previewMaterial.BaseMaterial.IsLoaded;
public override bool HasContentLoaded => base.HasContentLoaded && _previewMaterial.IsLoaded && _previewMaterial.BaseMaterial.IsLoaded;
/// <inheritdoc />
public override void OnDestroy()
@@ -175,11 +175,11 @@ namespace FlaxEditor.Viewport.Previews
}
/// <inheritdoc />
public override bool HasLoadedAssets
public override bool HasContentLoaded
{
get
{
if (!base.HasLoadedAssets)
if (!base.HasContentLoaded)
return false;
UpdateMaterial();
return true;
@@ -78,7 +78,7 @@ namespace FlaxEditor.Viewport.Previews
}
/// <inheritdoc />
public override bool HasLoadedAssets => (_emitter == null || _emitter.IsLoaded) && base.HasLoadedAssets;
public override bool HasContentLoaded => (_emitter == null || _emitter.IsLoaded) && base.HasContentLoaded;
/// <inheritdoc />
public override void OnDestroy()
@@ -226,7 +226,7 @@ namespace FlaxEditor.Viewport.Previews
}
/// <inheritdoc />
public override bool HasLoadedAssets => _previewEffect.HasContentLoaded && base.HasLoadedAssets;
public override bool HasContentLoaded => _previewEffect.HasContentLoaded && base.HasContentLoaded;
/// <inheritdoc />
public override void Update(float deltaTime)
+1 -1
View File
@@ -536,7 +536,7 @@ namespace FlaxEditor.Windows.Assets
}
// Auto fit
if (_focusCamera && _viewport.Task.FrameCount > 1)
if (_focusCamera && _viewport.Task.FrameCount > 1 && _viewport.HasContentLoaded)
{
_focusCamera = false;
Editor.GetActorEditorSphere(_viewport.Instance, out BoundingSphere bounds);