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;
}
}
전제조건이 있느 경우에 기본값을 추가해서
사용하면 편리하게 사용이 가능하다.
★☆☆☆☆
반응형
'개발 > Unity' 카테고리의 다른 글
Unity) SerializeField / SerializeReference (0) | 2022.08.30 |
---|---|
Unity) Preset Manager (기본 값 설정 : 프리셋) (4) | 2022.08.24 |
Unity) Insepctor Custom (조건 처리 / 숨기기 / 비활성화) (1) | 2022.08.22 |
Unity)Attribute) Serialized field Update/Change Callback(Editor 값 변경시 호출) (0) | 2022.08.17 |
Unity) 이벤트 함수의 실행순서(Script Life Cycle) (0) | 2022.08.11 |
댓글