如何根据其他变量值隐藏变量在Unity检查器中

时间:2017-11-22 09:16:54

标签: c# unity3d inspector

如何根据统一检查器中的其他变量值隐藏变量。基本上想象一下:如果我有一个名为" CanSprint"和一个漂浮" SprintSpeed"所以我想这样做,以便当bool为真时,浮动显示,但当bool为假时,浮动隐藏。这只是有点整洁。 谢谢!

1 个答案:

答案 0 :(得分:2)

您需要查看自定义编辑器脚本(https://docs.unity3d.com/Manual/editor-CustomEditors.html),使用自定义编辑器脚本,您可以随时显示变量。这是使用链接信息的布局:

[CustomEditor(typeof(MyBehaviourClass))]
public class MyEditorClass : Editor
{
    public override void OnInspectorGUI()
    {
        // If we call base the default inspector will get drawn too.
        // Remove this line if you don't want that to happen.
        base.OnInspectorGUI();

        MyBehaviourClass myBehaviour = target as MyBehaviourClass;

        target.myBool = EditorGUILayout.Toggle("myBool", target.myBool);

        if (target.myBool)
        {
            target.someFloat = EditorGUILayout.FloatField ("Some Float:", target.someFloat);

        }
    }
}

请务必将此脚本贴在'编辑器中。文件夹,更改' MyBehaviourClass'对你的班级类型,改变'someFloat'到你的浮动和myBool'到您的布尔变量。