様々なEditorWindow③ - ScriptableWizard
様々なEditorWindow② - SearchableWIndowの続きです
ScriptableWizard
- GameObjectを作る
- Prefabを作る
- その他アセットを作る
何かを「作る」時に使用するWindowです。
OnGUIは使わない
ScriptableWizardではEditorWindowを継承しているのでOnGUIが使用出来ますが
OnGUIを使用するとCreateボタンとOtherボタンが表示されなくなってしまいます。 つまりただのEditorWindowになってしまいます。
ScriptableWizardに表示されるものはSerializedProperty
簡単にいえば「ScriptableWizardに表示されるものはInspectorに表示されるようなpublicな変数」
サンプル: Prefabを作成してインスタンス化する
using UnityEngine; using System.Collections; using UnityEditor; public class Hoge : ScriptableWizard { public string objectName = string.Empty; [MenuItem("GameObject/Create Object")] static void CreateWizard () { ScriptableWizard.DisplayWizard<Hoge> ("Create Object", "Create"); } void OnWizardCreate () { GameObject obj = new GameObject (ObjectNames.NicifyVariableName (objectName), typeof(BoxCollider)); Object prefab = PrefabUtility.CreatePrefab (string.Format ("Assets/{0}.prefab", obj.name), obj); DestroyImmediate (obj); PrefabUtility.InstantiatePrefab (prefab); } void OnWizardUpdate () { //条件満たすまでCreateボタン押せない isValid = !string.IsNullOrEmpty (objectName); } }