Horizo??ntalGroup特性:用于在檢查器中水平分組多個(gè)屬性。寬度可以指定為百分比或像素。0到1之間的所有值都將視為百分比。如果寬度為0,則會(huì)自動(dòng)調(diào)整列的大小。左右邊距只能以像素為單位指定。
【Horizo??ntalGroup】制作一個(gè)水平分組
[HorizontalGroup]
public int A;
[HorizontalGroup("Group 1", LabelWidth = 20)]
public int C;
[HorizontalGroup("Group 1")]
public int D;
[HorizontalGroup("Group 1")]
public int E;
也可以在一個(gè)橫向Group中分類不同的BoxGroup
[HorizontalGroup("Split", 0.5f, LabelWidth = 40)]
[BoxGroup("Split/Left")]
public int L;
[BoxGroup("Split/Left")]
public int N;
[BoxGroup("Split/Right")]
public int M;
[BoxGroup("Split/Right")]
public int O;
劃分一個(gè)Buttons in Boxes折頁(yè),在這個(gè)折頁(yè)中劃分一個(gè)Buttons in Boxes/Horizontal 組,然后在這個(gè)Horizontal Group中劃分兩個(gè)Box
[Button(ButtonSizes.Large)]
[FoldoutGroup("Buttons in Boxes")]
[HorizontalGroup("Buttons in Boxes/Horizontal")]
[BoxGroup("Buttons in Boxes/Horizontal/One")]
public void Button1() { }
[Button(ButtonSizes.Large)]
[BoxGroup("Buttons in Boxes/Horizontal/Two")]
public void Button2() { }
[Button]
[HorizontalGroup("Buttons in Boxes/Horizontal", Width = 60)]
[BoxGroup("Buttons in Boxes/Horizontal/Double")]
public void Accept() { }
[Button]
[BoxGroup("Buttons in Boxes/Horizontal/Double")]
public void Cancel() { }
輔助類設(shè)置:MarginLeft、MarginRight(左右邊距)、PaddingLeft、PaddingRight(組與組的邊距)、MinWidth與MaxWidth間距,設(shè)置Title標(biāo)題
完整示例代碼
using Sirenix.OdinInspector;
using UnityEngine;
public class HorizontalGroupAttributeExample : MonoBehaviour
{
[HorizontalGroup]
public int A;
[HorizontalGroup("Group 1", LabelWidth = 20)]
public int C;
[HorizontalGroup("Group 1")]
public int D;
[HorizontalGroup("Group 1")]
public int E;
[PropertySpace(40, 40)]
public string space = "";
[HorizontalGroup("Split", 0.5f, LabelWidth = 40)]
[BoxGroup("Split/Left")]
public int L;
[BoxGroup("Split/Left")]
public int N;
[BoxGroup("Split/Right")]
public int M;
[BoxGroup("Split/Right")]
public int O;
[PropertySpace(40, 40)]
public string space1 = "";
[Button(ButtonSizes.Large)]
[FoldoutGroup("Buttons in Boxes")]
[HorizontalGroup("Buttons in Boxes/Horizontal")]
[BoxGroup("Buttons in Boxes/Horizontal/One")]
public void Button1() { }
[Button(ButtonSizes.Large)]
[BoxGroup("Buttons in Boxes/Horizontal/Two")]
public void Button2() { }
[Button]
[HorizontalGroup("Buttons in Boxes/Horizontal", Width = 60)]
[BoxGroup("Buttons in Boxes/Horizontal/Double")]
public void Accept() { }
[Button]
[BoxGroup("Buttons in Boxes/Horizontal/Double")]
public void Cancel() { }
}