コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity】エディタが起動している間データを保持できる「ScriptableSingleton」

概要

using UnityEditor;

public sealed class Data : ScriptableSingleton<Data>
{
    public int    Id;
    public string Name;
}

public sealed class Example : EditorWindow
{
    [MenuItem( "Tools/Open" )]
    private static void Open()
    {
        GetWindow<Example>();
    }

    private void OnGUI()
    {
        var data = ScriptableSingleton<Data>.instance;

        data.Id   = EditorGUILayout.IntField( "Id", data.Id );
        data.Name = EditorGUILayout.TextField( "Name", data.Name );
    }
}
  • ScriptableSingleton を使用することでエディタが起動している間データを保持できます