Fix asset reference window showing temp assets
This commit is contained in:
@@ -147,6 +147,7 @@ namespace FlaxEditor.Windows
|
|||||||
private Task _task;
|
private Task _task;
|
||||||
private const float MarginX = 200;
|
private const float MarginX = 200;
|
||||||
private const float MarginY = 50;
|
private const float MarginY = 50;
|
||||||
|
private string _tempFolder;
|
||||||
|
|
||||||
// Async task data
|
// Async task data
|
||||||
private float _progress;
|
private float _progress;
|
||||||
@@ -164,6 +165,7 @@ namespace FlaxEditor.Windows
|
|||||||
{
|
{
|
||||||
Title = assetItem.ShortName + " References";
|
Title = assetItem.ShortName + " References";
|
||||||
|
|
||||||
|
_tempFolder = StringUtils.NormalizePath(Path.GetDirectoryName(Globals.TemporaryFolder));
|
||||||
_cacheFolder = Path.Combine(Globals.ProjectCacheFolder, "References");
|
_cacheFolder = Path.Combine(Globals.ProjectCacheFolder, "References");
|
||||||
if (!Directory.Exists(_cacheFolder))
|
if (!Directory.Exists(_cacheFolder))
|
||||||
Directory.CreateDirectory(_cacheFolder);
|
Directory.CreateDirectory(_cacheFolder);
|
||||||
@@ -195,6 +197,11 @@ namespace FlaxEditor.Windows
|
|||||||
return node;
|
return node;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private bool CheckSkipAsset(Asset asset)
|
||||||
|
{
|
||||||
|
return asset == null || asset.IsVirtual || asset.Path.StartsWith(_tempFolder);
|
||||||
|
}
|
||||||
|
|
||||||
private unsafe void SearchRefs(Guid assetId)
|
private unsafe void SearchRefs(Guid assetId)
|
||||||
{
|
{
|
||||||
// Skip assets that never contain references to prevent loading them
|
// Skip assets that never contain references to prevent loading them
|
||||||
@@ -236,7 +243,7 @@ namespace FlaxEditor.Windows
|
|||||||
var asset = obj as Asset;
|
var asset = obj as Asset;
|
||||||
if (!asset)
|
if (!asset)
|
||||||
asset = FlaxEngine.Content.LoadAsync<Asset>(assetId);
|
asset = FlaxEngine.Content.LoadAsync<Asset>(assetId);
|
||||||
if (asset == null || asset.IsVirtual)
|
if (CheckSkipAsset(asset))
|
||||||
return;
|
return;
|
||||||
while (asset && !asset.IsLoaded && !asset.LastLoadFailed)
|
while (asset && !asset.IsLoaded && !asset.LastLoadFailed)
|
||||||
{
|
{
|
||||||
@@ -300,9 +307,11 @@ namespace FlaxEditor.Windows
|
|||||||
if (!(obj is Asset) && !(obj is Scene))
|
if (!(obj is Asset) && !(obj is Scene))
|
||||||
{
|
{
|
||||||
var asset = FlaxEngine.Content.LoadAsync<Asset>(assetRef);
|
var asset = FlaxEngine.Content.LoadAsync<Asset>(assetRef);
|
||||||
if (asset == null || asset.IsVirtual)
|
if (CheckSkipAsset(asset))
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
else if (obj is Asset asset && CheckSkipAsset(asset))
|
||||||
|
continue;
|
||||||
|
|
||||||
// Skip nodes that were already added to the graph
|
// Skip nodes that were already added to the graph
|
||||||
if (_nodesAssets.Contains(assetRef))
|
if (_nodesAssets.Contains(assetRef))
|
||||||
|
|||||||
Reference in New Issue
Block a user