EditorWindow
EditorWindow クラスに以下のメソッドがあったため、これを利用すればモーダルウィンドウとして表示できると思い利用してみたところ、TreeView が想定と異なる挙動をしたためその解決方法を記述します /// <summary> /// <para>Show the EditorWindow as a floating modal w</para></summary>…
EditorWindow を取得して CenterOnMainWin を呼び出せば中心に持ってこられる var window = GetWindow<SampleEdiorWindow>(); window.CenterOnMainWin(); public static class EditorWindowExtensions { public static void CenterOnMainWin(this EditorWindow self) { var main</sampleediorwindow>…
EditorWindow で GUIStyle を利用する際に、フィールドの初期値を入れた状態にすると Unable to use a named GUIStyle without a current skin. Most likely you need to move your GUIStyle initialization code to OnGUI とエラーが表示されます これは名…
「Search Missing Script」を押すと全 Prefab から Missing Script になっている コンポーネントを探し一覧で表示してくれる Prefab の数が多いと時間はかかってしまうが、プログレスバーを表示させているので凡その時間はわかるようにしました 検索後見つか…
IHasCustomMenu を interface に追加してやることで Menu に要素を追加できます using UnityEditor; public class SampleEditorWindow : EditorWindow, IHasCustomMenu { private bool _isOn; void IHasCustomMenu.AddItemsToMenu(GenericMenu menu) { menu.…
Editor クラスの OnInspectorGUI を EditorWindow OnGUI を呼び出すことで Inspector の UI を表示することができます そのためには ScriptableObject の Editor を取得する必要があり それは下記メソッドで取得できます public static UnityEditor.Editor C…
EditorWindow を取得する方法として EditorWindow.GetWindow があるが これはすでに EditorWindow を開いていた場合でも新しく EditorWindowを作成してしまう すでに開いている EditorWindow を確認する方法として以下がある var findSceneView = Resources.…
タブを表示するのに利用できるクラスは GUILayout.toolbar です 2019.1で追加された EditorGUILayout.EditorToolbar も利用できると思いましたが全然用途が違いました GUILayout.toolbar public static int Toolbar (int selected, string texts, params GUI…
例えば Unity の Console には下図のようにヘッダー領域があり、そこにボタンやトグルなどを表示している 今回はその表示方法について記述する ※内部的にはツールバー (toolbar) と呼ばれている Header ヘッダーを描画するのは至極簡単で EditorGUILayout.Ho…
Unity の Console Window では 一覧と詳細の間にあるバーを操作することでサイズを変更できるが、 機能を利用することができない コード 1から作るのは面倒だったため、Unity 内部のコードを参考に作成 VerticalSplitter クラスは載せて無いが、HorizontalSp…
だいぶ複雑になるが EditorGUILayout.PropertyField の includeChildren: true を利用せずに すべての SerializedProperty を取得し描画していくこともできる。 NextVisible を利用するのは変わらないが、SerializedPropertyType.Generic の場合は中身を更に…
Begin / End で表記するGUI系クラスのヘルパークラスである Scopeのメモ 基本的にはGUI.Scopeを継承しており、自身でScopeクラスを追加することもできる。 デフォルトで入っているものは以下であり、使い方と簡単に機能説明を追記する また最後に自作のScope…