目次
「ToggleGroup」「Toggle」属性
「ToggleGroup」「Toggle」属性を使用すると
変数をトグル付きのグループに分けることができます
using Sirenix.OdinInspector; using System; using UnityEngine; public class Example : MonoBehaviour { [ToggleGroup( "groupA" )] public bool groupA; [ToggleGroup( "groupA" )] public int a2; [ToggleGroup( "groupA" )] public int a3; [ToggleGroup( "groupB", "title" )] public bool groupB; [ToggleGroup( "groupB" )] public string title; [ToggleGroup( "groupB" )] public int b1; [ToggleGroup( "groupB" )] public int b2; [ToggleGroup( "groupB" )] public int b3; [Toggle( "groupC" )] public Hoge hoge; public Fuga[] fugas; } [Serializable] public class Hoge { [HideInInspector] public bool groupC; public int a; public int b; } [Serializable] public class Fuga { [ToggleGroup( "groupD", "$Title" )][HideInInspector] public bool groupD; [ToggleGroup( "groupD" )] public int a; [ToggleGroup( "groupD" )] public int b; [ToggleGroup( "groupD" )] public string title; public string Title { get { return title; } } }
使い方
下記の様に記述するだけで使用できます
ToggleGroup 属性の引数に渡す文字列は
bool 型の変数名と同名にする必要があります
[ToggleGroup( "groupA" )] public bool groupA; [ToggleGroup( "groupA" )] public int a2; [ToggleGroup( "groupA" )] public int a3;
ToggleGroup 属性の第 2 引数に
string 型の変数名を指定することで
動的に見出しの文言を変更できるようになります
[ToggleGroup( "groupB", "title" )] public bool groupB; [ToggleGroup( "groupB" )] public string title; [ToggleGroup( "groupB" )] public int b1; [ToggleGroup( "groupB" )] public int b2; [ToggleGroup( "groupB" )] public int b3;
Toggle 属性を使用することで
クラスや構造体のインスタンスもグループ化できます
Toggle 属性の引数に渡す文字列は
クラスや構造体の bool 型の変数名と同名にする必要があります
[Toggle( "groupC" )] public Hoge hoge; ... [Serializable] public class Hoge { [HideInInspector] public bool groupC; public int a; public int b; }
ToggleGroup 属性を使用しているクラスや構造体を配列にすることもできます
public Fuga[] fugas; ... [Serializable] public class Fuga { [ToggleGroup( "groupD", "$Title" )][HideInInspector] public bool groupD; [ToggleGroup( "groupD" )] public int a; [ToggleGroup( "groupD" )] public int b; [ToggleGroup( "groupD" )] public string title; public string Title { get { return title; } } }
参考サイト様
Odin Inspector and Serializer | Improve your workflow in Unity
Odin Inspector and Serializer | Improve your workflow in Unity