Skip to content

Commit 1db9dbf

Browse files
committed
Fixed issues with mysterious empty dependencies returned by AssetDatabase.GetDependencies
1 parent a6b0f5a commit 1db9dbf

File tree

2 files changed

+29
-4
lines changed

2 files changed

+29
-4
lines changed

Plugins/AssetUsageDetector/Editor/AssetUsageDetectorCache.cs

+28-3
Original file line numberDiff line numberDiff line change
@@ -51,10 +51,35 @@ public void Refresh( string path )
5151
if( fileSizes == null || fileSizes.Length != dependencies.Length )
5252
fileSizes = new long[dependencies.Length];
5353

54-
for( int i = 0; i < dependencies.Length; i++ )
54+
int length = dependencies.Length;
55+
for( int i = 0; i < length; i++ )
5556
{
56-
FileInfo assetFile = new FileInfo( dependencies[i] );
57-
fileSizes[i] = assetFile.Exists ? assetFile.Length : 0L;
57+
if( !string.IsNullOrEmpty( dependencies[i] ) )
58+
{
59+
FileInfo assetFile = new FileInfo( dependencies[i] );
60+
fileSizes[i] = assetFile.Exists ? assetFile.Length : 0L;
61+
}
62+
else
63+
{
64+
// This dependency is empty which causes issues when passed to FileInfo constructor
65+
// Find a non-empty dependency and move it to this index
66+
for( int j = length - 1; j > i; j--, length-- )
67+
{
68+
if( !string.IsNullOrEmpty( dependencies[j] ) )
69+
{
70+
dependencies[i--] = dependencies[j];
71+
break;
72+
}
73+
}
74+
75+
length--;
76+
}
77+
}
78+
79+
if( length != fileSizes.Length )
80+
{
81+
Array.Resize( ref dependencies, length );
82+
Array.Resize( ref fileSizes, length );
5883
}
5984
}
6085
}

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "com.yasirkula.assetusagedetector",
33
"displayName": "Asset Usage Detector",
4-
"version": "1.9.4",
4+
"version": "1.9.5",
55
"documentationUrl": "https://github.com/yasirkula/UnityAssetUsageDetector",
66
"changelogUrl": "https://github.com/yasirkula/UnityAssetUsageDetector/releases",
77
"licensesUrl": "https://github.com/yasirkula/UnityAssetUsageDetector/blob/master/LICENSE.txt",

0 commit comments

Comments
 (0)