Namespace: | Sirenix.OdinInspector |
Assembly: | Sirenix.OdinInspector.Attributes |
[AttributeUsage(AttributeTargets.Assembly | AttributeTargets.Module | AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Enum | AttributeTargets.Constructor | AttributeTargets.Method | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Interface | AttributeTargets.Parameter | AttributeTargets.Delegate | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter | AttributeTargets.All, AllowMultiple = true, Inherited = true)]
[Conditional("UNITY_EDITOR")]
public class BoxGroupAttribute : PropertyGroupAttribute, _Attribute
BoxGroup is used on any property and organizes the property in a boxed group.
Use this to cleanly organize relevant values together in the inspector.
The following example shows how BoxGroup is used to organize properties together into a box.
public class BoxGroupExamples : MonoBehaviour
{
// Box with a centered title.
[BoxGroup("Centered Title", centerLabel: true)]
public int A;
[BoxGroup("Centered Title", centerLabel: true)]
public int B;
[BoxGroup("Centered Title", centerLabel: true)]
public int C;
// Box with a title.
[BoxGroup("Left Oriented Title")]
public int D;
[BoxGroup("Left Oriented Title")]
public int E;
// Box with a title recieved from a field.
[BoxGroup("$DynamicTitle1"), LabelText("Dynamic Title")]
public string DynamicTitle1 = "Dynamic box title";
[BoxGroup("$DynamicTitle1")]
public int F;
// Box with a title recieved from a property.
[BoxGroup("$DynamicTitle2")]
public int G;
[BoxGroup("$DynamicTitle2")]
public int H;
// Box without a title.
[InfoBox("You can also hide the label of a box group.")]
[BoxGroup("NoTitle", false)]
public int I;
[BoxGroup("NoTitle")]
public int J;
[BoxGroup("NoTitle")]
public int K;
#if UNITY_EDITOR
public string DynamicTitle2
{
get { return UnityEditor.PlayerSettings.productName; }
}
#endif
[BoxGroup("Boxed Struct"), HideLabel]
public SomeStruct BoxedStruct;
public SomeStruct DefaultStruct;
[Serializable]
public struct SomeStruct
{
public int One;
public int Two;
public int Three;
}
}
public BoxGroupAttribute()
public BoxGroupAttribute(string group, bool showLabel = true, bool centerLabel = false, float order = 0F)
System.String | group | The box group. |
System.Boolean | showLabel | If |
System.Boolean | centerLabel | If set to |
System.Single | order | The order of the group in the inspector. |
true
the header label will be places in the center of the group header. Otherwise it will be in left side.
public bool CenterLabel
public string LabelText
true
a label for the group will be drawn on top.
public bool ShowLabel
protected override void CombineValuesWith(PropertyGroupAttribute other)
PropertyGroupAttribute | other | The other group. |