この記事でのバージョン
Unity 2017.2.0f3
はじめに
今回はエディタ拡張で折りたためるGUIを実装する方法のご紹介です!
EditorGUILayout.Foldout
エディタ拡張で折りたためるGUIを実装するときにはEditorGUILayout.Foldoutを使います。
実際に使ってみると以下のような感じ。
返り値が「閉じているか」ではなく「開いているか」という点には注意が必要かもしれません。
//開いているか private bool _isOpen = true; private void OnGUI(){ //折りたたみUIを表示、現在開いているかを取得 bool isOpen = EditorGUILayout.Foldout(_isOpen, "折りたたみ"); //折りたたみの状態が変わったらログ表示 if(_isOpen != isOpen){ _isOpen = isOpen; Debug.Log(_isOpen ? "開きました!" : "閉じました!"); } //開いている時はGUI追加 if(isOpen){ EditorGUI.indentLevel++; EditorGUILayout.LabelField("|д゚)チラッ"); EditorGUI.indentLevel--; } }
もちろんCustomEditorを使って、Inspector上に表示する事も可能です。