26 lines
654 B
C#
26 lines
654 B
C#
|
using System.Collections;
|
||
|
using System.Collections.Generic;
|
||
|
using UnityEngine;
|
||
|
#if UNITY_EDITOR
|
||
|
using UnityEditor;
|
||
|
#endif
|
||
|
namespace BITKit
|
||
|
{
|
||
|
public static class ScriptableObjectHelper
|
||
|
{
|
||
|
public static T Get<T>() where T : ScriptableObject
|
||
|
{
|
||
|
string name = typeof(T).Name;
|
||
|
T so = Resources.Load<T>(name);
|
||
|
#if UNITY_EDITOR
|
||
|
if (so is null)
|
||
|
{
|
||
|
so = ScriptableObject.CreateInstance<T>();
|
||
|
AssetDatabase.CreateAsset(so, $"Assets/Resources/{name}.asset");
|
||
|
AssetDatabase.SaveAssets();
|
||
|
}
|
||
|
#endif
|
||
|
return so;
|
||
|
}
|
||
|
}
|
||
|
}
|