Пример #1
0
        /// <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;
        }
Пример #2
0
        /// <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);
            }
        }
Пример #3
0
        /// <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;
        }
Пример #4
0
        /// <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);
            }
        }