@@ -293,6 +293,11 @@ internal void RecreateResources()
293293 /// <returns>The byte array, or null</returns>
294294 public byte [ ] LoadFile ( string path , string prefix = null )
295295 {
296+ if ( ( path ? . Length ?? 0 ) == 0 )
297+ {
298+ return null ;
299+ }
300+
296301 var pakPath = path . Replace ( Path . DirectorySeparatorChar , '/' ) ;
297302
298303 var guid = AssetDatabase . GetAssetGuid ( pakPath ) ;
@@ -370,6 +375,11 @@ public byte[] LoadFile(string path, string prefix = null)
370375 /// <returns>The string, or null</returns>
371376 public string LoadFileString ( string path )
372377 {
378+ if ( ( path ? . Length ?? 0 ) == 0 )
379+ {
380+ return null ;
381+ }
382+
373383 var data = LoadFile ( path ) ;
374384
375385 if ( data == null )
@@ -427,6 +437,11 @@ public List<string> LoadSceneList()
427437 /// <returns>The scene, or null</returns>
428438 public Scene LoadRawSceneFromPath ( string path )
429439 {
440+ if ( ( path ? . Length ?? 0 ) == 0 )
441+ {
442+ return null ;
443+ }
444+
430445 World . Current = new ( ) ;
431446
432447 Scene . current = null ;
@@ -760,6 +775,11 @@ public Scene LoadSceneFromGuid(string guid)
760775 /// <returns>The scene, or null</returns>
761776 public Scene LoadScene ( string name )
762777 {
778+ if ( ( name ? . Length ?? 0 ) == 0 )
779+ {
780+ return null ;
781+ }
782+
763783 var guid = AssetDatabase . GetAssetGuid ( name ) ??
764784 name ;
765785
@@ -789,6 +809,11 @@ public Scene LoadScene(string name)
789809 /// <returns>The shader data, or null</returns>
790810 public SerializableShader LoadShaderData ( string path )
791811 {
812+ if ( ( path ? . Length ?? 0 ) == 0 )
813+ {
814+ return null ;
815+ }
816+
792817 var prefix = ShaderPrefix ;
793818 var guid = AssetDatabase . GetAssetGuid ( path ) ;
794819
@@ -854,6 +879,11 @@ public SerializableShader LoadShaderData(string path)
854879 /// <returns>The shader, or null</returns>
855880 public Shader LoadShader ( string path , bool ignoreCache = false )
856881 {
882+ if ( ( path ? . Length ?? 0 ) == 0 )
883+ {
884+ return null ;
885+ }
886+
857887 var prefix = ShaderPrefix ;
858888 var guid = AssetDatabase . GetAssetGuid ( path ) ;
859889
@@ -971,7 +1001,12 @@ public Shader LoadShader(string path, bool ignoreCache = false)
9711001 /// <returns>The material, or null</returns>
9721002 public Material LoadMaterial ( string path , bool ignoreCache = false )
9731003 {
974- if ( ignoreCache == false &&
1004+ if ( ( path ? . Length ?? 0 ) == 0 )
1005+ {
1006+ return null ;
1007+ }
1008+
1009+ if ( ignoreCache == false &&
9751010 cachedMaterials . TryGetValue ( path , out var material ) &&
9761011 material != null &&
9771012 material . Disposed == false )
@@ -1245,6 +1280,11 @@ public Texture LoadTexture(string path, TextureFlags flags = TextureFlags.None,
12451280 /// <returns>The audio clip, or null</returns>
12461281 public AudioClip LoadAudioClip ( string path , bool ignoreCache = false )
12471282 {
1283+ if ( ( path ? . Length ?? 0 ) == 0 )
1284+ {
1285+ return null ;
1286+ }
1287+
12481288 if ( ignoreCache == false &&
12491289 cachedAudioClips . TryGetValue ( path , out var audioClip ) &&
12501290 audioClip != null )
@@ -1320,7 +1360,12 @@ public AudioClip LoadAudioClip(string path, bool ignoreCache = false)
13201360 /// <returns>The mesh, or null</returns>
13211361 public Mesh LoadMesh ( string guid , bool ignoreCache = false )
13221362 {
1323- if ( guid . StartsWith ( "Internal/" , StringComparison . InvariantCulture ) )
1363+ if ( ( guid ? . Length ?? 0 ) == 0 )
1364+ {
1365+ return null ;
1366+ }
1367+
1368+ if ( guid . StartsWith ( "Internal/" , StringComparison . InvariantCulture ) )
13241369 {
13251370 return Mesh . GetDefaultMesh ( guid ) ;
13261371 }
@@ -1417,6 +1462,11 @@ public Mesh LoadMesh(string guid, bool ignoreCache = false)
14171462 /// <returns>The mesh asset, or null</returns>
14181463 public MeshAsset LoadMeshAsset ( string path , bool ignoreCache = false )
14191464 {
1465+ if ( ( path ? . Length ?? 0 ) == 0 )
1466+ {
1467+ return null ;
1468+ }
1469+
14201470 var guid = AssetDatabase . GetAssetGuid ( path ) ;
14211471
14221472 path = guid ?? path ;
@@ -1718,6 +1768,11 @@ public MeshAsset LoadMeshAsset(string path, bool ignoreCache = false)
17181768 /// <returns>The asset, or null</returns>
17191769 public T LoadAsset < T > ( string path , bool ignoreCache = false ) where T : IStapleAsset
17201770 {
1771+ if ( ( path ? . Length ?? 0 ) == 0 )
1772+ {
1773+ return default ;
1774+ }
1775+
17211776 var guid = AssetDatabase . GetAssetGuid ( path ) ;
17221777
17231778 path = guid ?? path ;
@@ -1747,6 +1802,11 @@ public T LoadAsset<T>(string path, bool ignoreCache = false) where T: IStapleAss
17471802 /// <returns>The asset, or null</returns>
17481803 public IStapleAsset LoadAsset ( string path , bool ignoreCache = false )
17491804 {
1805+ if ( ( path ? . Length ?? 0 ) == 0 )
1806+ {
1807+ return default ;
1808+ }
1809+
17501810 var guid = AssetDatabase . GetAssetGuid ( path ) ;
17511811
17521812 path = guid ?? path ;
@@ -1822,6 +1882,11 @@ public IStapleAsset LoadAsset(string path, bool ignoreCache = false)
18221882 /// <returns>The prefab, or null</returns>
18231883 public Prefab LoadPrefab ( string path , bool ignoreCache = false )
18241884 {
1885+ if ( ( path ? . Length ?? 0 ) == 0 )
1886+ {
1887+ return null ;
1888+ }
1889+
18251890 var guid = AssetDatabase . GetAssetGuid ( path ) ;
18261891
18271892 path = guid ?? path ;
@@ -1893,6 +1958,11 @@ public Prefab LoadPrefab(string path, bool ignoreCache = false)
18931958 /// <returns>The font, or null</returns>
18941959 public FontAsset LoadFont ( string path , bool ignoreCache = false )
18951960 {
1961+ if ( ( path ? . Length ?? 0 ) == 0 )
1962+ {
1963+ return null ;
1964+ }
1965+
18961966 var guid = AssetDatabase . GetAssetGuid ( path ) ;
18971967
18981968 path = guid ?? path ;
0 commit comments