diff --git a/Source/Editor/Windows/AssetReferencesGraphWindow.cs b/Source/Editor/Windows/AssetReferencesGraphWindow.cs index 5d0eee183..128160993 100644 --- a/Source/Editor/Windows/AssetReferencesGraphWindow.cs +++ b/Source/Editor/Windows/AssetReferencesGraphWindow.cs @@ -147,6 +147,7 @@ namespace FlaxEditor.Windows private Task _task; private const float MarginX = 200; private const float MarginY = 50; + private string _tempFolder; // Async task data private float _progress; @@ -164,6 +165,7 @@ namespace FlaxEditor.Windows { Title = assetItem.ShortName + " References"; + _tempFolder = StringUtils.NormalizePath(Path.GetDirectoryName(Globals.TemporaryFolder)); _cacheFolder = Path.Combine(Globals.ProjectCacheFolder, "References"); if (!Directory.Exists(_cacheFolder)) Directory.CreateDirectory(_cacheFolder); @@ -195,6 +197,11 @@ namespace FlaxEditor.Windows return node; } + private bool CheckSkipAsset(Asset asset) + { + return asset == null || asset.IsVirtual || asset.Path.StartsWith(_tempFolder); + } + private unsafe void SearchRefs(Guid assetId) { // Skip assets that never contain references to prevent loading them @@ -236,7 +243,7 @@ namespace FlaxEditor.Windows var asset = obj as Asset; if (!asset) asset = FlaxEngine.Content.LoadAsync(assetId); - if (asset == null || asset.IsVirtual) + if (CheckSkipAsset(asset)) return; while (asset && !asset.IsLoaded && !asset.LastLoadFailed) { @@ -300,9 +307,11 @@ namespace FlaxEditor.Windows if (!(obj is Asset) && !(obj is Scene)) { var asset = FlaxEngine.Content.LoadAsync(assetRef); - if (asset == null || asset.IsVirtual) + if (CheckSkipAsset(asset)) continue; } + else if (obj is Asset asset && CheckSkipAsset(asset)) + continue; // Skip nodes that were already added to the graph if (_nodesAssets.Contains(assetRef))