C# 使用枚举在检查器中隐藏/显示变量

C# 使用枚举在检查器中隐藏/显示变量,c#,enums,unity3d,hide,inspector,C#,Enums,Unity3d,Hide,Inspector,我目前正在与一些艺术家、程序员、水平设计师、艺术总监等一起进行一个更大的项目。 现在,艺术家和关卡设计师对代码不太感兴趣,所以他们非常依赖于检查器中显示的变量,我想让它们尽可能容易地使用 因此,在游戏对象的检查器中,我希望根据公共枚举变量的值显示一些变量。有没有一种方法可以使用宏和[HideInInstitt]或其他命令来实现这一点 顺便说一下,我们正在使用C。您需要为此创建一个 例如,仅当标志为true时才创建滑块: public class MyScript : MonoBehaviour

我目前正在与一些艺术家、程序员、水平设计师、艺术总监等一起进行一个更大的项目。 现在,艺术家和关卡设计师对代码不太感兴趣,所以他们非常依赖于检查器中显示的变量,我想让它们尽可能容易地使用

因此,在游戏对象的检查器中,我希望根据公共枚举变量的值显示一些变量。有没有一种方法可以使用宏和[HideInInstitt]或其他命令来实现这一点

顺便说一下,我们正在使用C。

您需要为此创建一个

例如,仅当标志为true时才创建滑块:

public class MyScript : MonoBehaviour
{
   public bool flag;
   public int i = 1;
}

[CustomEditor(typeof(MyScript))]
public class MyScriptEditor : Editor
{
   void OnInspectorGUI()
   {
       var myScript = target as MyScript;

       myScript.flag = GUILayout.Toggle(myScript.flag, "Flag");

       if(myScript.flag)
           myScript.i = EditorGUILayout.IntSlider("I field:", myScript.i , 1 , 100);

   }  
}
代码取自同一问题:

您需要为此创建一个

例如,仅当标志为true时才创建滑块:

public class MyScript : MonoBehaviour
{
   public bool flag;
   public int i = 1;
}

[CustomEditor(typeof(MyScript))]
public class MyScriptEditor : Editor
{
   void OnInspectorGUI()
   {
       var myScript = target as MyScript;

       myScript.flag = GUILayout.Toggle(myScript.flag, "Flag");

       if(myScript.flag)
           myScript.i = EditorGUILayout.IntSlider("I field:", myScript.i , 1 , 100);

   }  
}
代码取自同一问题: