gpt4 book ai didi

c# - 如何统一设置自定义检查器字段的初始值

转载 作者:行者123 更新时间:2023-11-30 12:40:00 27 4
gpt4 key购买 nike

我有两个相似的类 ClassAClassB。这两个类都包含一个 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 脚本。在两个编辑器脚本中,在 OnInspectorGUI() 方法中,以下两行用于将相应的 bool 值添加到 Inspector。

ClassA.overwrite = EditorGUILayout.ToggleLeft("Overwrite", ClassA.overwrite);

ClassB.hide = EditorGUILayout.ToggleLeft("隐藏", ClassB.hide);


当我将 ClassA 添加到游戏对象时,“覆盖”字段未选中,但是当我将 ClassB 添加到游戏对象时,“隐藏”字段被选中。

我不明白有什么不同,或者在为属性设置默认值/初始值时涉及哪些其他因素。

理想情况下,我希望它们都被默认选中。

有什么我可能遗漏的想法吗?

谢谢你的时间,

利亚姆

最佳答案

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

void Reset() 
{
_overwrite = true;
}

关于c# - 如何统一设置自定义检查器字段的初始值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43051976/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com