如何在检查器中显示灰色选项

时间:2015-06-17 02:01:19

标签: c# unity3d

我正在向Unity资产商店添加一些东西,我想知道,例如,我如何将某些选择变为灰色,当用户为布尔相关的东西标记为真时,灰色选项将可以互动。这是在用户点击播放之前的全部内容。

1 个答案:

答案 0 :(得分:0)

听起来你想为你创建的组件制作一个Custom Editor

举个例子,将这个脚本放在你的项目中,现在所有的灯都会有一个"锁定"防止检查员意外编辑:

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脚本it should be within a folder called "Editor"一样,因此Unity不会将其编译到最终版本中。 More info on that