开始一个可隐藏/显示的组,并且过渡将生成动画。
using UnityEngine; using UnityEditor; using UnityEditor.AnimatedValues; using UnityEngine.Events;
public class MyWindow : EditorWindow { AnimBool m_ShowExtraFields; string m_String; Color m_Color = Color.white; int m_Number = 0;
[MenuItem("Window/My Window")] static void Init() { MyWindow window = (MyWindow)EditorWindow.GetWindow(typeof(MyWindow)); window.Show(); }
void OnEnable() { m_ShowExtraFields = new AnimBool(true); m_ShowExtraFields.valueChanged.AddListener(new UnityAction(base.Repaint)); }
void OnGUI() { m_ShowExtraFields.target = EditorGUILayout.ToggleLeft("Show extra fields", m_ShowExtraFields.target);
//Extra block that can be toggled on and off. using (var group = new EditorGUILayout.FadeGroupScope(m_ShowExtraFields.faded)) { if (group.visible) { EditorGUI.indentLevel++; EditorGUILayout.PrefixLabel("Color"); m_Color = EditorGUILayout.ColorField(m_Color); EditorGUILayout.PrefixLabel("Text"); m_String = EditorGUILayout.TextField(m_String); EditorGUILayout.PrefixLabel("Number"); m_Number = EditorGUILayout.IntSlider(m_Number, 0, 10); EditorGUI.indentLevel--; } } } }
visible | 组是否可见。 |
EditorGUILayout.FadeGroupScope | 创建一个新的 FadeGroupScope 并开始相应的组。 |