UnityにScriptableObjectを作るメニューを追加しようとして
あれ、
Projectウィンドウの現在いるフォルダにUnityで普通にAssetを作った時みたいに
名前も編集状態になるようにするにはどうすればよかったんだっけ?
と悩みまくったので記事に残して置こうと思う。
Assetを作るメニューを追加したときにいつも忘れてしまう。
using UnityEngine;
using UnityEditor;
public class MyMenu
{
/// <summary>
/// 空のScriptableObjectを作る。
/// </summary>
[MenuItem("Assets/Create/ScriptableObject")]
public static void createScriptableObject()
{
ProjectWindowUtil.CreateAsset(ScriptableObject.CreateInstance<ScriptableObject>(), "New ScriptableObject.asset");
}
}
AssetDatabase.CreateAssetではなくて
ProjectWindowUtil.CreateAssetを使う。
プロジェクトウィンドウを扱うのだから、ProjectWindowUtilを使うのは
当たり前のような話ですが、似たような機能が多くて混乱しますね。
この記事を書いたちょっと後に「UnityEngine.CreateAssetMenuAttribute」というものに出会う。
これを使えば、さっき書いた事がもっと簡単にできるという話です。
このページで詳しく書いてあるのでリンク貼っときます。
http://baba-s.hatenablog.com/entry/2015/06/13/000000