如何在检查器中对选项进行灰色处理

本文关键字:选项 灰色 处理 检查 | 更新日期: 2023-09-27 17:56:51

我正在向Unity资源商店添加一些内容,例如,我想知道如何将某些选择显示为灰色,以及当用户将某些与布尔相关的内容标记为true时,灰显的选项将是可交互的。这是用户单击"播放"之前的全部内容。

如何在检查器中对选项进行灰色处理

听起来您想为您创建的组件创建自定义编辑器。

例如,将此脚本拖放到项目中,现在所有光源都将具有"锁定",以防止检查器意外编辑:

using UnityEngine;
using UnityEditor;
[CanEditMultipleObjects, CustomEditor(typeof(Light))]
public class LightEditor : Editor {
    bool editAllowed = false;
    public override void OnInspectorGUI () {
        EditorGUILayout.Space();
        editAllowed = EditorGUILayout.ToggleLeft(" I know what I'm doing", editAllowed);
        EditorGUILayout.Space();
        GUI.enabled = editAllowed;
        DrawDefaultInspector();
    }
}

与所有脚本一样Editor,它应该位于名为"编辑器"的文件夹中,以便 Unity 不会将其编译到最终版本中。更多关于这方面的信息