unity各功能字段含义整理(持续更新)

1、防止重命名后旧变量aaa所关联的引用丢失

[FormerlySerializedAs("aaa")]
public string bbb;

2、一般用于创建组件使用,防止一个对象上多次挂载同一组件

[DisallowMultipleComponent]

 3、代表该类在运行模式和编辑模式下都会运行

[ExecuteAlways]

4、强制unity序列化一个私有的或者保护的属性,在Inspector面板中可见,public变量默认是可以被序列化的,因此可认为凡是显示在Inspector中的属性都具有序列化功能

[SerializeField] Attribute

5、标记可序列化类的某个字段不允许被序列化

[NonSerialized]

6、标记下面的字段值以分页按钮显示

[EnumToggleButtons]

7、分组显示

[BoxGroup("Member referencing")]
public string DynamicFilePath;

[BoxGroup("Member referencing")]
public string DynamicParent = "Assets/Plugin/Sirenix";

[BoxGroup("Member referencing")]
public string DynamicExtensions = "cs, unity, jpg";

8、标签、颜色、枚举等类型字段的说明

[Header("背景颜色")]
public Color backgroundValue = new Color(0, 0, 0, 0.7f);

9、折页

[FoldoutGroup("设置窗口")]
[Header("是否打开")]
public bool isOpen = false;
[FoldoutGroup("设置窗口")]
[Header("是否关闭")]
public bool isClose = false;
[FoldoutGroup("设置窗口")]
[Header("是否初始化")]
public bool isInit = false;

10、当属性值发生变化时回调函数,如ValueChange即为回调函数

[OnValueChanged("ValueChange")]

11、向左向右箭头

[EnumPaging]
[Header("窗口显示层级")]
public UIViewPosition UILayer = UIViewPosition.Normal;

12、当指定条件满足时,显示对应的属性,默认传入的参数为对应属性的名称,如果为True或者不为null时,显示属性,或者指定一个选项值,当指定的属性与这个值拼配时,显示属性, 也可以使用@特殊符号写入表达式,其表达式的值作为实参

[ShowIf("playEvent", OnPlayEvent.Click)]
[ShowIf("@this.IsToggled && this.SomeObject != null || this.SomeEnum == InfoMessageType.Error")]
public Vector3 HideWhenNull;

13、表示取值范围

[Header("时间")] 
[ProgressBar(0, 20)] 
public float time;

14、在默认分组上以一个tab标示一个属性

[TabGroup("UI1")]
[TabGroup("UI2")]
[TabGroup("UI3")]
[TabGroup("UI4")]

15、对List和Array使用TableList属性标签,可以在面板中以表的形式进行绘制

[TableList]

16、创建一个属性的下拉菜单

[ValueDropdown("texs")]

 

 

  • 5
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值