Rename EditorViewport.HasLoadedAssets to HasContentLoaded and fix it for prefab auto-fit
Ref #4137
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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 />
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user