コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity】【Odin - Inspector and Serializer】パラメータを開閉可能なグループに分ける「FoldoutGroup」属性

目次

「FoldoutGroup」属性

「FoldoutGroup」属性を使用すると
変数を開閉可能なグループに分けることができます

f:id:baba_s:20170719133623p:plain

using Sirenix.OdinInspector;
using UnityEngine;

public class Example : MonoBehaviour
{
    [FoldoutGroup( "グループ A" )] public int a1;
    [FoldoutGroup( "グループ A" )] public int a2;
    [FoldoutGroup( "グループ A" )] public int a3;
    
    [FoldoutGroup( "グループ B", expanded:false )] public int b1;
    [FoldoutGroup( "グループ B", expanded:false )] public int b2;
    [FoldoutGroup( "グループ B", expanded:false )] public int b3;
    
    [FoldoutGroup( "$title" )] public int c1;
    [FoldoutGroup( "$title" )] public int c2;
    [FoldoutGroup( "$title" )] public int c3;

    public string title;
}

使い方

下記の様に記述するだけで使用できます

[FoldoutGroup( "グループ A" )] public int a1;
[FoldoutGroup( "グループ A" )] public int a2;
[FoldoutGroup( "グループ A" )] public int a3;

グループを閉じた状態にしておきたい場合は
expanded:false を記述します

[FoldoutGroup( "グループ B", expanded:false )] public int b1;
[FoldoutGroup( "グループ B", expanded:false )] public int b2;
[FoldoutGroup( "グループ B", expanded:false )] public int b3;

グループ名を動的に変更することも可能です

[FoldoutGroup( "$title" )] public int c1;
[FoldoutGroup( "$title" )] public int c2;
[FoldoutGroup( "$title" )] public int c3;

public string title;

参考サイト様

Odin Inspector and Serializer | Improve your workflow in Unity