Che*_*ake 2 c# unity-game-engine
所以我有以下代码片段
[HideInInspector]
public Color color;
[HideInInspector]
public bool active;
[HideInInspector]
public bool started;
[HideInInspector]
public PlayerAbilities playerAbilities;
[HideInInspector]
public PlayerMovement playerMovement;
[HideInInspector]
public PlayerControls controls;
Run Code Online (Sandbox Code Playgroud)
我真的很想清理这个烂摊子。所有变量都需要公开,但我不希望它们出现在检查器中。有没有简单的方法来解决这个问题?
谢谢
您可以将它们变成一个属性,无论如何,这就是 C# 方式,并且 Unity 无法序列化属性,因此它们不会出现在检查器中(私有可见性字段也对检查器隐藏,但我不知道您的字段的用例)。例如。:
public Color color{get; set;}
public bool active{get; set;}
public bool started{get; set;}
public PlayerAbilities playerAbilities{get; set;}
public PlayerMovement playerMovement{get; set;}
public PlayerControls controls{get; set;}
Run Code Online (Sandbox Code Playgroud)
如果您来自其他编程语言,上述语法对您来说可能会很奇怪,因此您可以在此处阅读有关属性的更多信息。
另外,这样做:
[HideInInspector]
public bool boolean, anotherBoolean, andAnotherOne;
Run Code Online (Sandbox Code Playgroud)
将为所有三个字段应用属性标签。但我不太喜欢这种方法,因为它常常会损害可读性,除非您真正将逻辑上属于在一起的变量组合在一起。
归档时间: |
|
查看次数: |
1138 次 |
最近记录: |