private void DrawSoundClipInspector(SerializedProperty selectedEventProperty, TEvent selectedEvent) { bool allowLoopingClip = !selectedEvent.Container.Looping; if (allowLoopingClip) { if (selectedEvent.IsContinuous()) { allowLoopingClip = false; } } for (int i = 0; i < selectedEvent.Container.Sounds.Length; i++) { EditorGUILayout.Space(); EditorGUILayout.BeginHorizontal(); EditorGUILayout.PropertyField(selectedEventProperty.FindPropertyRelative("Container.Sounds.Array.data[" + i + "].Sound")); if (EditorGUILayoutExtensions.Button("Remove")) { selectedEventProperty.FindPropertyRelative("Container.Sounds.Array.data[" + i + "]").DeleteCommand(); break; } EditorGUILayout.EndHorizontal(); if (!selectedEvent.IsContinuous()) { EditorGUILayout.BeginHorizontal(); EditorGUILayout.PropertyField(selectedEventProperty.FindPropertyRelative("Container.Sounds.Array.data[" + i + "].DelayCenter")); EditorGUILayout.PropertyField(selectedEventProperty.FindPropertyRelative("Container.Sounds.Array.data[" + i + "].DelayRandomization")); EditorGUILayout.EndHorizontal(); //Disable looping next clips in a simultaneous container only. if (allowLoopingClip) { EditorGUILayout.PropertyField(selectedEventProperty.FindPropertyRelative("Container.Sounds.Array.data[" + i + "].Looping")); if (selectedEvent.Container.Sounds[i].Looping && selectedEvent.Container.ContainerType == AudioContainerType.Simultaneous) { allowLoopingClip = false; } } else { selectedEvent.Container.Sounds[i].Looping = false; } } } }
// Draw the profiler window. private void OnGUI() { if (!EditorApplication.isPlaying) { EditorGUILayoutExtensions.Label("Profiler only active in play mode!"); return; } this.currentFrame = EditorGUILayout.IntSlider(this.currentFrame, 0, this.eventTimeline.Count - 1); scrollOffset = EditorGUILayout.BeginScrollView(scrollOffset); if (this.eventTimeline.Count > this.currentFrame) { for (int i = 0; i < this.eventTimeline[this.currentFrame].Length; i++) { DrawEventButton(this.eventTimeline[this.currentFrame][i], i); } } EditorGUILayout.EndScrollView(); }
private void DrawEventHeader(TEvent[] EditorEvents) { // Add or remove current event. EditorGUILayout.Space(); EditorGUILayout.BeginHorizontal(); EditorGUILayoutExtensions.Label("Events"); using (new EditorGUI.DisabledScope((EditorEvents != null) && (EditorEvents.Length < 1))) { if (EditorGUILayoutExtensions.Button("Remove")) { this.myTarget.EditorEvents = RemoveAudioEvent(EditorEvents, this.selectedEventIndex); } } if (EditorGUILayoutExtensions.Button("Add")) { this.myTarget.EditorEvents = AddAudioEvent(EditorEvents); } EditorGUILayout.EndHorizontal(); EditorGUILayout.Space(); }
private bool DrawContainerInspector(SerializedProperty selectedEventProperty, TEvent selectedEvent) { bool addedSound = false; EditorGUILayout.PropertyField(selectedEventProperty.FindPropertyRelative("container.containerType")); if (!selectedEvent.IsContinuous()) { EditorGUILayout.PropertyField(selectedEventProperty.FindPropertyRelative("container.looping")); if (selectedEvent.container.looping) { EditorGUILayout.PropertyField(selectedEventProperty.FindPropertyRelative("container.loopTime")); } } // Sounds EditorGUILayout.Space(); if (selectedEvent.IsContinuous()) { EditorGUILayout.PropertyField(selectedEventProperty.FindPropertyRelative("container.crossfadeTime")); } EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Sounds"); if (EditorGUILayoutExtensions.Button("Add")) { AddSound(selectedEvent); // Skip drawing sound inspector after adding a new sound. addedSound = true; } EditorGUILayout.EndHorizontal(); return(addedSound); }