我遇到了一个我的变量问题,我只希望它是-1或1.我知道我可以使用IF语句在OnValidate()中处理它以查看它是否为1或-1但我只是好奇是否已经内置了一些东西来处理这些情况,例如[Range(0,999)]。是否有内置的东西可以限制我选择的变量或者在我的OnValidate()中进行IF语句检查的方式?
答案 0 :(得分:2)
对于-1或1,您可能需要enum
字段吗? Unity将提供可供选择的值的下拉列表。 bool也适用于两种情况,但如果-1和1在数字之外有一些含义,那么命名可能性的enum
可能会很好。
同时查看EditorGUI.IntSlider
的整数范围滑块,EditorGUI.Slider
表示实数。它比属性或普通的旧字段复杂一点,但它可能适合你。
编辑:要检查的另一件事是OnValidate
。这可能是最简单的方法:当字段更改时调用此事件,您可以强制字段为您想要的任何值。例如,您可以检查该字段,如果输入值为>= 0
则将其设置为1,如果< 0
则设置为-1。