@@ -11,15 +11,15 @@ public static T Instance
1111 get
1212 {
1313 if ( instance == null )
14- instance = LoadOrCreateInstance ( ) ;
14+ instance = LoadOrCreateInstance < T > ( ) ;
1515 return instance ;
1616 }
1717 }
1818
1919 [ RuntimeInitializeOnLoadMethod ( RuntimeInitializeLoadType . BeforeSceneLoad ) ]
20- public static T LoadOrCreateInstance ( )
20+ public static T2 LoadOrCreateInstance < T2 > ( ) where T2 : ScriptableObject
2121 {
22- T newInstance = Resources . Load < T > ( typeof ( T ) . Name ) ;
22+ T2 newInstance = Resources . Load < T2 > ( typeof ( T2 ) . Name ) ;
2323
2424 if ( newInstance != null )
2525 return newInstance ;
@@ -28,22 +28,22 @@ public static T LoadOrCreateInstance()
2828 if ( Application . isPlaying )
2929 return null ;
3030
31- string registryGUID = UnityEditor . AssetDatabase . FindAssets ( $ "t:{ typeof ( T ) . Name } ")
31+ string registryGUID = UnityEditor . AssetDatabase . FindAssets ( $ "t:{ typeof ( T2 ) . Name } ")
3232 . FirstOrDefault ( ) ;
3333
3434 if ( ! string . IsNullOrEmpty ( registryGUID ) )
3535 {
36- newInstance = ( T ) UnityEditor . AssetDatabase . LoadAssetAtPath < ScriptableObject > (
36+ newInstance = ( T2 ) UnityEditor . AssetDatabase . LoadAssetAtPath < ScriptableObject > (
3737 UnityEditor . AssetDatabase . GUIDToAssetPath ( registryGUID ) ) ;
3838 }
3939
4040 if ( newInstance != null )
41- return newInstance ;
41+ return newInstance ;
4242
43- newInstance = CreateInstance < T > ( ) ;
43+ newInstance = CreateInstance < T2 > ( ) ;
4444
4545 AssetDatabaseUtils . CreatePathIfDontExist ( "Assets/Resources" ) ;
46- UnityEditor . AssetDatabase . CreateAsset ( newInstance , $ "Assets/Resources/{ typeof ( T ) . Name } .asset") ;
46+ UnityEditor . AssetDatabase . CreateAsset ( newInstance , $ "Assets/Resources/{ typeof ( T2 ) . Name } .asset") ;
4747 UnityEditor . AssetDatabase . SaveAssets ( ) ;
4848 UnityEditor . AssetDatabase . Refresh ( ) ;
4949 return newInstance ;
0 commit comments