加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 22:43:30 所属栏目:百科 来源:网络整理
导读:我有两个类似的ClassA和ClassB类.这两个类都包含一个bool: 在A类: [SerializeField]private bool _overwrite = true;public bool overwrite{ get { return _overwrite; } set { _overwrite = value; }} 在B级: [SerializeField]private bool _hide = true
我有两个类似的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;
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读