(:3[kanのメモ帳]

個人ゲーム開発者kan.kikuchiのメモ的技術ブログ。月木更新でUnity関連がメイン。

エディタ拡張で折りたたみ(Foldout)【Unity】【エディタ拡張】


このエントリーをはてなブックマークに追加



この記事でのバージョン
Unity 2017.2.0f3


はじめに

今回はエディタ拡張で折りたためるGUIを実装する方法のご紹介です!


f:id:kan_kikuchi:20171113110807g:plain


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--;
  } 

}

f:id:kan_kikuchi:20171113110807g:plain


もちろんCustomEditorを使って、Inspector上に表示する事も可能です。


f:id:kan_kikuchi:20171113111021g:plain