通常编写脚本,以便在检查器中公开公共字段;有没有办法使用属性?
// instead of this
public GameObject wrongBall;
// is there some way to do this (to trigger an event in the setter, for instance)
// and have it show up in the inspector window?
public GameObject WrongBallProperty
{
get;
set;
}
答案 0 :(得分:3)
不是 Unity 5,但供参考的是其他任何人都在这里寻找新版本 Unity 的答案。
您现在可以使用 Auto-Implemented Property Field-Targeted Attributes 作为新版本的 Unity 支持 C# 7.3 功能。
[field: SerializeField]
public GameObject WrongBallProperty { get; set; }
答案 1 :(得分:0)
排序。
您无法在检查器中直接使用属性,但可以使用支持字段创建属性:
public GameObject WrongBallProperty {
get { return this.wrongBallProperty; }
set { //do whatever }
}
[SerializeField]
private gameObject wrongBallProperty;
这会在检查器中显示wrongBallProperty
,并允许您在get
和set
中执行所需的逻辑操作。有关详细信息,请参阅SerializeField reference。