/// <summary> Panel to show "Requirements" for Sequence to play </summary> /// <param name="inlineHelp">Should help be displayed?</param> public void RequirementsPanel(bool inlineHelp) { ++EditorGUI.indentLevel; EditorGUI.BeginChangeCheck(); m_editorUtils.PropertyField("mRequirements", m_requirements, inlineHelp); ValuesOrEvents reqVal = (ValuesOrEvents)System.Enum.GetValues(typeof(ValuesOrEvents)).GetValue(m_requirements.enumValueIndex); slidersGroup.target = (reqVal & ValuesOrEvents.Values) != 0; eventsGroup.target = (reqVal & ValuesOrEvents.Events) != 0; if (EditorGUILayout.BeginFadeGroup(eventsGroup.faded)) { m_editorUtils.InlineHelp("mEventsMix", inlineHelp); m_eventsReorderable.DoLayoutList(); m_editorUtils.InlineHelp("mEvents", inlineHelp); } EditorGUILayout.EndFadeGroup(); if (EditorGUI.EndChangeCheck() && MainWindowEditor.Instance != null) { MainWindowEditor.Instance.Repaint(); } if (EditorGUILayout.BeginFadeGroup(slidersGroup.faded)) { m_editorUtils.InlineHelp("mValuesMix", inlineHelp); m_valuesReorderable.DoLayoutList(); m_editorUtils.InlineHelp("mValues", inlineHelp); } EditorGUILayout.EndFadeGroup(); --EditorGUI.indentLevel; }
/// <summary> Constructor to set up references </summary> public void OnEnable() { m_requirements = serializedObject.FindProperty("m_requirements"); m_valuesMix = serializedObject.FindProperty("m_valuesMix"); m_values = serializedObject.FindProperty("m_values"); m_eventsMix = serializedObject.FindProperty("m_eventsMix"); m_events = serializedObject.FindProperty("m_events"); m_modVolume = serializedObject.FindProperty("m_modVolume"); m_volume = serializedObject.FindProperty("m_volume"); m_modPlaybackSpeed = serializedObject.FindProperty("m_modPlaybackSpeed"); m_playbackSpeed = serializedObject.FindProperty("m_playbackSpeed"); m_modClips = serializedObject.FindProperty("m_modClips"); m_modClipsType = serializedObject.FindProperty("m_modClipsType"); m_clipData = serializedObject.FindProperty("m_clipData"); m_modDelayChance = serializedObject.FindProperty("m_modDelayChance"); m_delayChance = serializedObject.FindProperty("m_delayChance"); m_modDelay = serializedObject.FindProperty("m_modDelay"); m_minMaxDelay = serializedObject.FindProperty("m_minMaxDelay"); m_modRandomizeVolume = serializedObject.FindProperty("m_modRandomizeVolume"); m_randomizeVolume = serializedObject.FindProperty("m_randomizeVolume"); m_modMinMaxVolume = serializedObject.FindProperty("m_modMinMaxVolume"); m_minMaxVolume = serializedObject.FindProperty("m_minMaxVolume"); m_modRandomizePlaybackSpeed = serializedObject.FindProperty("m_modRandomizePlaybackSpeed"); m_randomizePlaybackSpeed = serializedObject.FindProperty("m_randomizePlaybackSpeed"); m_modMinMaxPlaybackSpeed = serializedObject.FindProperty("m_modMinMaxPlaybackSpeed"); m_minMaxPlaybackSpeed = serializedObject.FindProperty("m_minMaxPlaybackSpeed"); ValuesOrEvents reqVal = (ValuesOrEvents)m_requirements.enumValueIndex; valuesGroup = new AnimBool((reqVal & ValuesOrEvents.Values) != 0, Repaint); eventsGroup = new AnimBool((reqVal & ValuesOrEvents.Events) != 0, Repaint); clipsVisible = new AnimBool(m_modClips.boolValue, Repaint); m_eventsReorderable = new UnityEditorInternal.ReorderableList(serializedObject, m_events, true, false, true, true); m_eventsReorderable.elementHeight = EditorGUIUtility.singleLineHeight; m_eventsReorderable.drawElementCallback = DrawEventElement; m_eventsReorderable.drawHeaderCallback = DrawEventHeader; m_valuesReorderable = new UnityEditorInternal.ReorderableList(serializedObject, m_values, true, false, true, true); m_valuesReorderable.drawElementCallback = DrawValuesElement; m_valuesReorderable.drawHeaderCallback = DrawValueHeader; m_valuesReorderable.elementHeight = 2f * (EditorGUIUtility.singleLineHeight + EditorGUIUtility.standardVerticalSpacing); m_clipsReorderable = new UnityEditorInternal.ReorderableList(serializedObject, m_clipData, true, false, true, true); m_clipsReorderable.elementHeight = EditorGUIUtility.singleLineHeight; m_clipsReorderable.drawElementCallback = DrawClipElement; m_clipsReorderable.drawHeaderCallback = DrawClipHeader; if (m_editorUtils == null) { // Get editor utils for this m_editorUtils = PWApp.GetEditorUtils(this); } }
/// <summary> Panel to display "Requirements" for Modifier to apply </summary> /// <param name="inlineHelp">Should help be displayed?</param> void RequirementsPanel(bool inlineHelp) { ++EditorGUI.indentLevel; m_editorUtils.PropertyField("mRequirements", m_requirements, inlineHelp); ValuesOrEvents reqVal = (ValuesOrEvents)System.Enum.GetValues(typeof(ValuesOrEvents)).GetValue(m_requirements.enumValueIndex); valuesGroup.target = (reqVal & ValuesOrEvents.Values) != 0; eventsGroup.target = (reqVal & ValuesOrEvents.Events) != 0; if (EditorGUILayout.BeginFadeGroup(eventsGroup.faded)) { m_editorUtils.InlineHelp("mEventsMix", inlineHelp); m_eventsReorderable.DoLayoutList(); m_editorUtils.InlineHelp("mEvents", inlineHelp); } EditorGUILayout.EndFadeGroup(); if (EditorGUILayout.BeginFadeGroup(valuesGroup.faded)) { m_editorUtils.InlineHelp("mValueMix", inlineHelp); m_valuesReorderable.DoLayoutList(); m_editorUtils.InlineHelp("mValues", inlineHelp); } EditorGUILayout.EndFadeGroup(); --EditorGUI.indentLevel; }
/// <summary> Constructor to set up references for editor </summary> void OnEnable() { m_requirements = serializedObject.FindProperty("m_requirements"); m_clipData = serializedObject.FindProperty("m_clipData"); m_volume = serializedObject.FindProperty("m_volume"); m_playbackSpeed = serializedObject.FindProperty("m_playbackSpeed"); m_randomizeOrder = serializedObject.FindProperty("m_randomizeOrder"); m_crossFade = serializedObject.FindProperty("m_crossFade"); m_trackFadeTime = serializedObject.FindProperty("m_trackFadeTime"); m_volumeFadeTime = serializedObject.FindProperty("m_volumeFadeTime"); m_playbackSpeedFadeTime = serializedObject.FindProperty("m_playbackSpeedFadeTime"); m_delayFadeTime = serializedObject.FindProperty("m_delayFadeTime"); m_delayChance = serializedObject.FindProperty("m_delayChance"); m_minMaxDelay = serializedObject.FindProperty("m_minMaxDelay"); m_valuesMix = serializedObject.FindProperty("m_valuesMix"); m_values = serializedObject.FindProperty("m_values"); m_eventsMix = serializedObject.FindProperty("m_eventsMix"); m_events = serializedObject.FindProperty("m_events"); m_randomVolume = serializedObject.FindProperty("m_randomVolume"); m_minMaxVolume = serializedObject.FindProperty("m_minMaxVolume"); m_randomPlaybackSpeed = serializedObject.FindProperty("m_randomPlaybackSpeed"); m_minMaxPlaybackSpeed = serializedObject.FindProperty("m_minMaxPlaybackSpeed"); m_modifiers = serializedObject.FindProperty("m_modifiers"); m_outputType = serializedObject.FindProperty("m_outputType"); m_outputPrefab = serializedObject.FindProperty("m_outputPrefab"); m_outputDirect = serializedObject.FindProperty("m_outputDirect"); m_outputDistance = serializedObject.FindProperty("m_outputDistance"); m_outputVerticalAngle = serializedObject.FindProperty("m_outputVerticalAngle"); m_outputHorizontalAngle = serializedObject.FindProperty("m_outputHorizontalAngle"); m_syncGroup = serializedObject.FindProperty("m_syncGroup"); m_syncType = serializedObject.FindProperty("m_syncType"); m_eventsWhilePlaying = serializedObject.FindProperty("m_eventsWhilePlaying"); m_valuesWhilePlaying = serializedObject.FindProperty("m_valuesWhilePlaying"); m_outputFollowPosition = serializedObject.FindProperty("m_outputFollowPosition"); m_outputFollowRotation = serializedObject.FindProperty("m_outputFollowRotation"); m_OnPlayClip = serializedObject.FindProperty("m_OnPlayClip"); m_OnStopClip = serializedObject.FindProperty("m_OnStopClip"); OutputType outputType = (OutputType)System.Enum.GetValues(typeof(OutputType)).GetValue(m_outputType.enumValueIndex); ValuesOrEvents reqVal = (ValuesOrEvents)m_requirements.enumValueIndex; outputGroup = new AnimBool(m_outputDirect.boolValue || outputType != OutputType.STRAIGHT, Repaint); slidersGroup = new AnimBool((reqVal & ValuesOrEvents.Values) != 0, Repaint); eventsGroup = new AnimBool((reqVal & ValuesOrEvents.Events) != 0, Repaint); directGroup = new AnimBool(!m_outputDirect.boolValue, Repaint); syncGroup = new AnimBool(!string.IsNullOrEmpty(m_syncGroup.stringValue), Repaint); m_eventsReorderable = new UnityEditorInternal.ReorderableList(serializedObject, m_events, true, false, true, true); m_eventsReorderable.elementHeight = EditorGUIUtility.singleLineHeight; m_eventsReorderable.drawElementCallback = DrawEventElement; m_eventsReorderable.drawHeaderCallback = DrawEventHeader; m_valuesReorderable = new UnityEditorInternal.ReorderableList(serializedObject, m_values, true, false, true, true); m_valuesReorderable.drawElementCallback = DrawValuesElement; m_valuesReorderable.drawHeaderCallback = DrawValueHeader; m_valuesReorderable.elementHeight = 2f * (EditorGUIUtility.singleLineHeight + EditorGUIUtility.standardVerticalSpacing); m_clipsReorderable = new UnityEditorInternal.ReorderableList(serializedObject, m_clipData, true, false, true, true); m_clipsReorderable.elementHeight = EditorGUIUtility.singleLineHeight; m_clipsReorderable.drawElementCallback = DrawClipElement; m_clipsReorderable.drawHeaderCallback = DrawClipHeader; m_clipsReorderable.onAddCallback = OnAddClip; m_modifiersReorderable = new UnityEditorInternal.ReorderableList(serializedObject, m_modifiers, true, false, true, true); m_modifiersReorderable.elementHeight = EditorGUIUtility.singleLineHeight; m_modifiersReorderable.drawElementCallback = DrawModifierElement; m_modifiersReorderable.drawHeaderCallback = DrawModifierHeader; m_eventsWhilePlayingReorderable = new UnityEditorInternal.ReorderableList(serializedObject, m_eventsWhilePlaying, true, false, true, true); m_eventsWhilePlayingReorderable.elementHeight = EditorGUIUtility.singleLineHeight; m_eventsWhilePlayingReorderable.drawElementCallback = DrawEventsWhilePlayingElement; m_eventsWhilePlayingReorderable.drawHeaderCallback = DrawEventsWhilePlayingHeader; m_valuesWhilePlayingReorderable = new UnityEditorInternal.ReorderableList(serializedObject, m_valuesWhilePlaying, true, false, true, true); m_valuesWhilePlayingReorderable.elementHeight = EditorGUIUtility.singleLineHeight; m_valuesWhilePlayingReorderable.drawElementCallback = DrawValuesWhilePlayingElement; m_valuesWhilePlayingReorderable.drawHeaderCallback = DrawValuesWhilePlayingHeader; if (m_editorUtils == null) { // Get editor utils for this m_editorUtils = PWApp.GetEditorUtils(this); } }