微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 如何以单位形式设置自定义检查器字段的初始值

我有两个类似的ClassA和ClassB类.这两个类都包含一个bool:

在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脚本.在两个Editor脚本中,在OnInspectorGUI()方法中,以下两行用于将相应的bool添加到Inspector.

ClassA.overwrite = EditorGUILayout.ToggleLeft(“Overwrite”,ClassA.overwrite);

ClassB.hide = EditorGUILayout.ToggleLeft(“Hide”,ClassB.hide);

当我将ClassA添加到GameObject时,“Overwrite”字段未被选中,但是当我将ClassB添加到GameObject时,将检查“隐藏”字段.

我不明白什么是不同的,或者在设置属性认/初始值时涉及的其他因素.

理想情况下,我希望认情况下检查它们.

我可能会缺少什么想法?

谢谢你的时间,

利亚姆

解决方法:

MonoBehavIoUrs的Reset方法似乎将提供您正在寻找的功能.它看起来像这样:

void Reset() 
{
    _overwrite = true;
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐