在Unity中,我可以在检查器窗口中公开C#* Properties *吗?

时间:2016-11-11 18:54:49

标签: c# unity5

通常编写脚本,以便在检查器中公开公共字段;有没有办法使用属性

// 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;
}

2 个答案:

答案 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,并允许您在getset中执行所需的逻辑操作。有关详细信息,请参阅SerializeField reference