Unity - 只允许-1和1作为可变选项放置在Inspector中

时间:2015-08-05 02:55:20

标签: c# unity3d

我遇到了一个我的变量问题,我只希望它是-1或1.我知道我可以使用IF语句在OnValidate()中处理它以查看它是否为1或-1但我只是好奇是否已经内置了一些东西来处理这些情况,例如[Range(0,999)]。是否有内置的东西可以限制我选择的变量或者在我的OnValidate()中进行IF语句检查的方式?

1 个答案:

答案 0 :(得分:2)

对于-1或1,您可能需要enum字段吗? Unity将提供可供选择的值的下拉列表。 bool也适用于两种情况,但如果-1和1在数字之外有一些含义,那么命名可能性的enum可能会很好。

同时查看EditorGUI.IntSlider的整数范围滑块,EditorGUI.Slider表示实数。它比属性或普通的旧字段复杂一点,但它可能适合你。

编辑:要检查的另一件事是OnValidate。这可能是最简单的方法:当字段更改时调用此事件,您可以强制字段为您想要的任何值。例如,您可以检查该字段,如果输入值为>= 0则将其设置为1,如果< 0则设置为-1。