【发布时间】:2017-03-27 16:41:02
【问题描述】:
我有两个类似的课程ClassA 和ClassB。两个类都包含一个布尔值:
A 类:
[SerializeField]
private bool _overwrite = true;
public bool overwrite
{
get { return _overwrite; }
set { _overwrite = value; }
}
B 类:
[SerializeField]
private bool _hide = true;
public bool hide
{
get { return _hide; }
set { _hide = value; }
}
两个脚本都有一个CustomEditor 脚本。在这两个编辑器脚本中,在 OnInspectorGUI() 方法中,以下两行用于将相应的布尔值添加到 Inspector。
ClassA.overwrite = EditorGUILayout.ToggleLeft("Overwrite", ClassA.overwrite);
ClassB.hide = EditorGUILayout.ToggleLeft("Hide", ClassB.hide);
当我将 ClassA 添加到游戏对象时,“覆盖”字段未选中,但是当我将 ClassB 添加到游戏对象时,“隐藏”字段被选中。
我不明白在设置属性的默认/初始值时有什么不同,或者涉及哪些其他因素。
理想情况下,我希望它们都被默认选中。
有什么我可能缺少的想法吗?
感谢您的宝贵时间,
利亚姆
【问题讨论】: