- Home /
Transition Viewable Variables in Custom Inspector
I'm making an asset and I just recently got into editor scripting and for my component I'd like to hide some settings when a specific enum is selected. Currently my custom editor looks like this...https://i.imgsafe.org/080201ba60.gif I'm using this code...
MyClass
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MyClass : MonoBehaviour
{
public enum MyEnum {Option1, Option2};
public MyEnum myEnum;
public float option1Float;
public GameObject option1GameObject;
public float option2Float;
public Vector3 option2Vector3;
public int option2Int;
}
MyClassEditor
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
[CustomEditor(typeof(MyClass))]
public class MyClassEditor : Editor
{
SerializedProperty myEnum_Prop;
SerializedProperty option1Float_Prop;
SerializedProperty option1GameObject_Prop;
SerializedProperty option2Float_Prop;
SerializedProperty option2Vector3_Prop;
SerializedProperty option2Int_Prop;
void OnEnable()
{
myEnum_Prop = serializedObject.FindProperty("myEnum");
option1Float_Prop = serializedObject.FindProperty("option1Float");
option1GameObject_Prop = serializedObject.FindProperty("option1GameObject");
option2Float_Prop = serializedObject.FindProperty("option2Float");
option2Vector3_Prop = serializedObject.FindProperty("option2Vector3");
option2Int_Prop = serializedObject.FindProperty("option2Int");
}
public override void OnInspectorGUI()
{
serializedObject.Update();
EditorGUILayout.PropertyField(myEnum_Prop);
MyClass.MyEnum myEnum = (MyClass.MyEnum)myEnum_Prop.enumValueIndex;
switch (myEnum)
{
case MyClass.MyEnum.Option1:
EditorGUILayout.PropertyField(option1Float_Prop);
EditorGUILayout.PropertyField(option1GameObject_Prop);
break;
case MyClass.MyEnum.Option2:
EditorGUILayout.PropertyField(option2Float_Prop);
EditorGUILayout.PropertyField(option2Vector3_Prop);
EditorGUILayout.PropertyField(option2Int_Prop);
break;
}
serializedObject.ApplyModifiedProperties();
}
}
When I hide variables and show the ones I'd like to see, I want it to transition similarly to how unity's button component does https://i.imgsafe.org/08361a034f.gif Any help is much appreciated.
Your answer
Follow this Question
Related Questions
How to make my own Transform inspector without using a Custom Inspector to override Transform ? 2 Answers
Reorderable list of UnityEvents 2 Answers
How to access Custom Inspector own gameObject 1 Answer
[Editor Scripting] Call Function in other GameObjects Editor Script? 0 Answers
Multiple Cars not working 1 Answer