Unity Attribute 小技巧
以下Attribute控制或者影响可见性,布局,字符串,数值,提示,方法和脚本.
控制可见性
[HideInInspector]
在Inspector属性栏里隐藏不想显示的公有字段
//添加这个Attribute后就可以将下面这个字段隐藏了!
[HideInInspector]
public bool IsAttackedByTrap = false;
[SerializeField]
在Inspector属性栏里显示私有字段
[SerializeField]
private int hp = 5;
控制字段
[Space ]
添加空行
[Header(“Description”)]
将众多字段分组
[TexArea]
当使用公有的string字段时,默认只可以输入一行,加入这个Attribute后可以输入多行。
[Range(0,2)]
添加上下范围限制
[Tooltip(“1 for human unit;2for AI unit”)]
为字段添加提示
控制方法
[ContexMenu(“GetHit”)]
作用在方法上,可以在不运行的情况下执行一下该方法。在Inspector中找到该脚本,然后右键可以找到这个GetHit。
代码展示:
[Space]
[Header("Description")]
public string Name;
[TextArea]
public string Description;
[space]
[Header("Stats")]
[Range(0,2)]
public int AttackFactor;
public int DefenceFactor;
public int AttackRange;
[Tooltip("1 for human; 2 for AI unit")]
public int UnitNumber;
[ContexMenu("GetHit")]
public void GetHit(){
this.hp--;
}
作用于脚本
这两个Attribute 写在类的上面,是用来修饰类的。
[DisallowMultipleComponent]
防止添加多个相同的脚本
[RequireComponent(type(Weapon))]
自动添加相关连的脚本,当添加这个脚本时,会自动将需要添加的相关连脚本添加进来。