public void OnGUI(AudioMixerGroupController group)
{
if ((UnityEngine.Object)group == (UnityEngine.Object)null)
{
return;
}
AudioMixerController controller = group.controller;
List <AudioMixerGroupController> allAudioGroupsSlow = controller.GetAllAudioGroupsSlow();
Dictionary <AudioMixerEffectController, AudioMixerGroupController> effectMap = new Dictionary <AudioMixerEffectController, AudioMixerGroupController>();
using (List <AudioMixerGroupController> .Enumerator enumerator = allAudioGroupsSlow.GetEnumerator())
{
while (enumerator.MoveNext())
{
AudioMixerGroupController current = enumerator.Current;
foreach (AudioMixerEffectController effect in current.effects)
{
effectMap[effect] = current;
}
}
}
Rect totalRect = EditorGUILayout.BeginVertical();
if (EditorApplication.isPlaying)
{
GUILayout.BeginHorizontal();
GUILayout.FlexibleSpace();
EditorGUI.BeginChangeCheck();
GUILayout.Toggle((AudioSettings.editingInPlaymode ? 1 : 0) != 0, AudioMixerEffectView.Texts.editInPlaymode, EditorStyles.miniButton, new GUILayoutOption[1]
{
GUILayout.Width(120f)
});
if (EditorGUI.EndChangeCheck())
{
AudioSettings.editingInPlaymode = !AudioSettings.editingInPlaymode;
}
GUILayout.FlexibleSpace();
GUILayout.EndHorizontal();
}
EditorGUI.BeginDisabledGroup(!AudioMixerController.EditingTargetSnapshot());
if ((UnityEngine.Object)group != (UnityEngine.Object) this.m_PrevGroup)
{
this.m_PrevGroup = group;
controller.m_HighlightEffectIndex = -1;
AudioMixerUtility.RepaintAudioMixerAndInspectors();
}
double num = (double)AudioMixerEffectView.DoInitialModule(group, controller, allAudioGroupsSlow);
for (int effectIndex = 0; effectIndex < group.effects.Length; ++effectIndex)
{
this.DoEffectGUI(effectIndex, group, allAudioGroupsSlow, effectMap, ref controller.m_HighlightEffectIndex);
}
this.m_EffectDragging.HandleDragging(totalRect, group, controller);
GUILayout.Space(10f);
EditorGUILayout.BeginHorizontal();
GUILayout.FlexibleSpace();
if (EditorGUILayout.ButtonMouseDown(AudioMixerEffectView.Texts.addEffect, FocusType.Passive, GUISkin.current.button))
{
GenericMenu pm = new GenericMenu();
Rect last = GUILayoutUtility.topLevel.GetLast();
AudioMixerGroupController[] groups = new AudioMixerGroupController[1] {
group
};
AudioMixerChannelStripView.AddEffectItemsToMenu(controller, groups, group.effects.Length, string.Empty, pm);
pm.DropDown(last);
}
EditorGUILayout.EndHorizontal();
EditorGUI.EndDisabledGroup();
EditorGUILayout.EndVertical();
}