在自定义检查器中设置初始值

Setting initial value in Custom inspector

我想将初始值设置为检查器中的级别。我正在使用以下模型 class.

public class Sample : MonoBehaviour
{
    public float Level { get; set; }
 

}

在我的编辑器 class 中,这是我访问模型的方式。

    sampleScript.Level = EditorGUILayout.FloatField(sampleScript.Level);

如何在检查器中将级别的初始值设置为 1?

public class Sample : MonoBehaviour
{
    [SerializeField]
    private float level = 1; // initial value

    public float Level { get => level; set => level = value; }
}

在 Unity 中,您应该将私有字段公开为 [SerializeField]。这样它将在检查器中可见。您也可以使用 public 字段,但我建议您始终使用带有序列化私有支持字段的 属性。

编辑:

您不能在检查器中公开属性。这些属性只是 Inspector 的方法。您可以找到或制作自己的自定义编辑器脚本来序列化自动属性,但是使用带有序列化后备字段的完整属性是最好的 IMO(而且非常简单)。