Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Unity-仅使-1和1成为要放置在Inspector中的变量选项_C#_Unity3d - Fatal编程技术网

C# Unity-仅使-1和1成为要放置在Inspector中的变量选项

C# Unity-仅使-1和1成为要放置在Inspector中的变量选项,c#,unity3d,C#,Unity3d,我的一个变量有问题,我只希望它是-1或1。我知道我可以在OnValidate()中使用IF语句来处理它,看看它是1还是-1,但我只是好奇是否已经内置了一些东西来处理这些情况,例如[Range(0999)]。是否有内置的东西可以限制我选择的变量,或者在我的OnValidate()中有IF语句检查?对于-1或1,可能需要一个enum字段?Unity将提供一个下拉列表,供您选择可能的值。bool也只适用于两种情况,但是如果-1和1在它们作为数字之外有一些意义,那么可能命名的可能性的enum就很好了 还

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

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

还可以查看整数范围滑块和实数。它比属性或普通的旧字段要复杂一点,但可能对您有用


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

,为什么不将其设为bool?@deathismyfriend我使用-1和1作为角色移动的反转变量。@deathismyfriend这将是Unity资产存储中的内容,因此我的目标是变量应设置为其预期用途,不允许它们输入数字,例如,角色的移动更加混乱或难以理解。@deathismyfriend事实上我知道你是从哪里来的,我想我可以修改代码,使它成为一个对检查器更具吸引力和更容易理解的工具。但让我把它从2个变量改为3个以上的变量。这一点如何仍然适用于原问题?谢谢你的输入,因为我不知道为什么我以前看不到。如果它是3+,它不可能是bool,然后我会使用range属性,因为它可以防止你执行If-else语句。谢谢你的输入。我不熟悉这些,所以我需要读一读。当然。添加了另一个更简单的选项,可以满足您的要求,但可能不是您真正想要的。是的,OnValidate是我目前正在使用的。我只是希望有像[Range(x,y)]这样的内置功能,但看起来没有类似的功能。哎呀,我完全错过了你问题的这一部分。