개발/Unity
Unity) ScriptableObject Sington (instance)
테샤르
2022. 8. 24. 15:54
ScriptableObject Sington (instance)
ScriptableObject를 Sington 형태로 사용하는 간략한 코드 정리이다.
반응형
Lazy를 사용해도 되지만 없는 경우에
Load Asset 을 통해서 자동 생성하는 코드이다.
private class ScriptableSingleton : ScriptableObject
{
static ScriptableSingleton _instance;
public static ScriptableSingleton Instance => _instance ?? (_instance = LoadAsset());
private static ScriptableSingleton LoadAsset()
{
var path = GetAssetPath();
var asset = AssetDatabase.LoadAssetAtPath<ScriptableSingleton>(path);
if (asset == null)
{
asset = CreateInstance<ScriptableSingleton>();
AssetDatabase.CreateAsset(asset, path);
AssetDatabase.SaveAssets();
}
return asset;
}
}
전제조건이 있느 경우에 기본값을 추가해서
사용하면 편리하게 사용이 가능하다.
★☆☆☆☆
반응형