Exemplo n.º 1
0
        private void DrawActions()
        {
            DGUI.Doozy.DrawTitleWithIconAndBackground(Styles.GetStyle(Styles.StyleName.IconAction),
                                                      UILabels.Actions,
                                                      Size.L,
                                                      DGUI.Properties.SingleLineHeight + DGUI.Properties.Space(2),
                                                      ComponentColorName,
                                                      ComponentColorName);

            GUILayout.Space(DGUI.Properties.Space());

            SerializedProperty soundDataProperty      = GetProperty(PropertyName.SoundData, m_actions);
            SerializedProperty effectProperty         = GetProperty(PropertyName.Effect, m_actions);
            SerializedProperty animatorEventsProperty = GetProperty(PropertyName.AnimatorEvents, m_actions);
            SerializedProperty gameEventsProperty     = GetProperty(PropertyName.GameEvents, m_actions);
            SerializedProperty unityEventProperty     = GetProperty(PropertyName.Event, m_actions);


            if (!m_soundDataExpanded.target && !m_effectExpanded.target && !m_animatorEventsExpanded.target && !m_gameEventsExpanded.target && !m_unityEventsExpanded.target)
            {
                m_soundDataExpanded.target = true;
            }

            GUILayout.BeginHorizontal();
            {
                if (DGUI.Doozy.DrawSubSectionButtonLeft(m_soundDataExpanded.target,
                                                        UILabels.Sound,
                                                        ComponentColorName,
                                                        DGUI.IconGroup.GetIcon(
                                                            Target.Actions.HasSound,
                                                            DGUI.IconGroup.IconSize,
                                                            DGUI.Icon.Sound, DGUI.Icon.Sound,
                                                            ComponentColorName, DGUI.Colors.DisabledIconColorName)))
                {
                    m_soundDataExpanded.target     = true;
                    m_effectExpanded.value         = false;
                    m_animatorEventsExpanded.value = false;
                    m_gameEventsExpanded.value     = false;
                    m_unityEventsExpanded.value    = false;
                }

                GUILayout.Space(DGUI.Properties.Space());

                if (DGUI.Doozy.DrawSubSectionButtonMiddle(m_effectExpanded.target,
                                                          UILabels.Effect,
                                                          ComponentColorName,
                                                          DGUI.IconGroup.GetIcon(
                                                              Target.Actions.HasEffect,
                                                              DGUI.IconGroup.IconSize,
                                                              DGUI.Icon.Effect, DGUI.Icon.Effect,
                                                              ComponentColorName, DGUI.Colors.DisabledIconColorName)))
                {
                    m_soundDataExpanded.value      = false;
                    m_effectExpanded.target        = true;
                    m_animatorEventsExpanded.value = false;
                    m_gameEventsExpanded.value     = false;
                    m_unityEventsExpanded.value    = false;
                    SoundyAudioPlayer.StopAllPlayers();
                }

                GUILayout.Space(DGUI.Properties.Space());

                if (DGUI.Doozy.DrawSubSectionButtonMiddle(m_animatorEventsExpanded.target,
                                                          UILabels.Animators,
                                                          ComponentColorName,
                                                          DGUI.IconGroup.GetIconWithCounter(
                                                              Target.Actions.HasAnimatorEvents,
                                                              Target.Actions.AnimatorEventsCount,
                                                              DGUI.IconGroup.IconSize,
                                                              DGUI.Icon.Animator, DGUI.Icon.Animator,
                                                              ComponentColorName, DGUI.Colors.DisabledIconColorName)))
                {
                    m_soundDataExpanded.value       = false;
                    m_effectExpanded.value          = false;
                    m_animatorEventsExpanded.target = true;
                    m_gameEventsExpanded.value      = false;
                    m_unityEventsExpanded.value     = false;
                    SoundyAudioPlayer.StopAllPlayers();
                }

                GUILayout.Space(DGUI.Properties.Space());

                if (DGUI.Doozy.DrawSubSectionButtonMiddle(m_gameEventsExpanded.target,
                                                          UILabels.GameEvents,
                                                          ComponentColorName,
                                                          DGUI.IconGroup.GetIconWithCounter(
                                                              Target.Actions.HasGameEvents,
                                                              Target.Actions.GameEventsCount,
                                                              DGUI.IconGroup.IconSize,
                                                              DGUI.Icon.GameEvent, DGUI.Icon.GameEvent,
                                                              ComponentColorName, DGUI.Colors.DisabledIconColorName)))
                {
                    m_soundDataExpanded.value      = false;
                    m_effectExpanded.value         = false;
                    m_animatorEventsExpanded.value = false;
                    m_gameEventsExpanded.target    = true;
                    m_unityEventsExpanded.value    = false;
                    SoundyAudioPlayer.StopAllPlayers();
                }

                GUILayout.Space(DGUI.Properties.Space());

                if (DGUI.Doozy.DrawSubSectionButtonRight(m_unityEventsExpanded.target,
                                                         UILabels.UnityEvents,
                                                         ComponentColorName,
                                                         DGUI.IconGroup.GetIconWithCounter(
                                                             Target.Actions.HasUnityEvent,
                                                             Target.Actions.UnityEventListenerCount,
                                                             DGUI.IconGroup.IconSize,
                                                             DGUI.Icon.UnityEvent, DGUI.Icon.UnityEvent,
                                                             ComponentColorName, DGUI.Colors.DisabledIconColorName)))
                {
                    m_soundDataExpanded.value      = false;
                    m_effectExpanded.value         = false;
                    m_animatorEventsExpanded.value = false;
                    m_gameEventsExpanded.value     = false;
                    m_unityEventsExpanded.target   = true;
                    SoundyAudioPlayer.StopAllPlayers();
                }
            }
            GUILayout.EndHorizontal();

            //ADD EXTRA SPACE if needed
            if (m_animatorEventsExpanded.target ||
                m_effectExpanded.target ||
                m_gameEventsExpanded.target)
            {
                GUILayout.Space(DGUI.Properties.Space());
            }

            //DRAW SOUND
            if (m_soundDataExpanded.target)
            {
                DGUI.Property.DrawWithFade(soundDataProperty, m_soundDataExpanded);
            }

            //DRAW EFFECT
            if (m_effectExpanded.target)
            {
                DGUI.Doozy.DrawUIEffect(Target.gameObject,
                                        Target.Actions.Effect,
                                        GetProperty(PropertyName.ParticleSystem, effectProperty),
                                        GetProperty(PropertyName.Behavior, effectProperty),
                                        GetProperty(PropertyName.StopBehavior, effectProperty),
                                        GetProperty(PropertyName.AutoSort, effectProperty),
                                        GetProperty(PropertyName.SortingSteps, effectProperty),
                                        GetProperty(PropertyName.CustomSortingLayer, effectProperty),
                                        GetProperty(PropertyName.CustomSortingOrder, effectProperty),
                                        m_effectExpanded,
                                        ComponentColorName);
            }

            //DRAW ANIMATOR EVENTS
            if (m_animatorEventsExpanded.target)
            {
                DGUI.List.DrawWithFade(animatorEventsProperty, m_animatorEventsExpanded, ComponentColorName, UILabels.ListIsEmpty);
            }

            //DRAW GAME EVENTS
            if (m_gameEventsExpanded.target)
            {
                DGUI.List.DrawWithFade(gameEventsProperty, m_gameEventsExpanded, ComponentColorName, UILabels.ListIsEmpty, 1);
            }

            //DRAW EVENTS (UnityEvent)
            if (m_unityEventsExpanded.target)
            {
                DGUI.Property.UnityEventWithFade(unityEventProperty, m_unityEventsExpanded, "Actions.Event", ComponentColorName, Target.Actions.UnityEventListenerCount);
            }
        }
Exemplo n.º 2
0
        private void DrawBehaviorActions(UIAction actions, SerializedProperty actionsProperty, AnimBool expanded, string unityEventDisplayPath)
        {
            float alpha = GUI.color.a;

            if (DGUI.FadeOut.Begin(expanded, false))
            {
                SerializedProperty soundDataProperty      = GetProperty(PropertyName.SoundData, actionsProperty);
                SerializedProperty effectProperty         = GetProperty(PropertyName.Effect, actionsProperty);
                SerializedProperty animatorEventsProperty = GetProperty(PropertyName.AnimatorEvents, actionsProperty);
                SerializedProperty gameEventsProperty     = GetProperty(PropertyName.GameEvents, actionsProperty);
                SerializedProperty unityEventProperty     = GetProperty(PropertyName.Event, actionsProperty);

                if (!expanded.target)
                {
                    m_soundDataExpanded.target      = false;
                    m_effectExpanded.target         = false;
                    m_animatorEventsExpanded.target = false;
                    m_gameEventsExpanded.target     = false;
                    m_unityEventsExpanded.target    = false;
                }
                else
                {
                    if (!m_soundDataExpanded.target && !m_effectExpanded.target && !m_animatorEventsExpanded.target && !m_gameEventsExpanded.target && !m_unityEventsExpanded.target)
                    {
                        m_soundDataExpanded.target = true;
                    }
                }

                GUILayout.BeginHorizontal();
                {
                    if (DGUI.Doozy.DrawSubSectionButtonLeft(m_soundDataExpanded.target,
                                                            UILabels.Sound,
                                                            ComponentColorName,
                                                            DGUI.IconGroup.GetIcon(
                                                                actions.HasSound,
                                                                DGUI.IconGroup.IconSize,
                                                                DGUI.Icon.Sound, DGUI.Icon.Sound,
                                                                ComponentColorName, DGUI.Colors.DisabledIconColorName)))
                    {
                        m_soundDataExpanded.target     = true;
                        m_effectExpanded.value         = false;
                        m_animatorEventsExpanded.value = false;
                        m_gameEventsExpanded.value     = false;
                        m_unityEventsExpanded.value    = false;
                    }

                    GUILayout.Space(DGUI.Properties.Space());

                    if (DGUI.Doozy.DrawSubSectionButtonMiddle(m_effectExpanded.target,
                                                              UILabels.Effect,
                                                              ComponentColorName,
                                                              DGUI.IconGroup.GetIcon(
                                                                  actions.HasEffect,
                                                                  DGUI.IconGroup.IconSize,
                                                                  DGUI.Icon.Effect, DGUI.Icon.Effect,
                                                                  ComponentColorName, DGUI.Colors.DisabledIconColorName)))
                    {
                        m_soundDataExpanded.value      = false;
                        m_effectExpanded.target        = true;
                        m_animatorEventsExpanded.value = false;
                        m_gameEventsExpanded.value     = false;
                        m_unityEventsExpanded.value    = false;
                        SoundyAudioPlayer.StopAllPlayers();
                    }

                    GUILayout.Space(DGUI.Properties.Space());

                    if (DGUI.Doozy.DrawSubSectionButtonMiddle(m_animatorEventsExpanded.target,
                                                              UILabels.Animators,
                                                              ComponentColorName,
                                                              DGUI.IconGroup.GetIconWithCounter(
                                                                  actions.HasAnimatorEvents,
                                                                  actions.AnimatorEventsCount,
                                                                  DGUI.IconGroup.IconSize,
                                                                  DGUI.Icon.Animator, DGUI.Icon.Animator,
                                                                  ComponentColorName, DGUI.Colors.DisabledIconColorName)))
                    {
                        m_soundDataExpanded.value       = false;
                        m_effectExpanded.value          = false;
                        m_animatorEventsExpanded.target = true;
                        m_gameEventsExpanded.value      = false;
                        m_unityEventsExpanded.value     = false;
                        SoundyAudioPlayer.StopAllPlayers();
                    }

                    GUILayout.Space(DGUI.Properties.Space());

                    if (DGUI.Doozy.DrawSubSectionButtonMiddle(m_gameEventsExpanded.target,
                                                              UILabels.GameEvents,
                                                              ComponentColorName,
                                                              DGUI.IconGroup.GetIconWithCounter(
                                                                  actions.HasGameEvents,
                                                                  actions.GameEventsCount,
                                                                  DGUI.IconGroup.IconSize,
                                                                  DGUI.Icon.GameEvent, DGUI.Icon.GameEvent,
                                                                  ComponentColorName, DGUI.Colors.DisabledIconColorName)))
                    {
                        m_soundDataExpanded.value      = false;
                        m_effectExpanded.value         = false;
                        m_animatorEventsExpanded.value = false;
                        m_gameEventsExpanded.target    = true;
                        m_unityEventsExpanded.value    = false;
                        SoundyAudioPlayer.StopAllPlayers();
                    }

                    GUILayout.Space(DGUI.Properties.Space());

                    if (DGUI.Doozy.DrawSubSectionButtonRight(m_unityEventsExpanded.target,
                                                             UILabels.UnityEvents,
                                                             ComponentColorName,
                                                             DGUI.IconGroup.GetIconWithCounter(
                                                                 actions.HasUnityEvent,
                                                                 actions.UnityEventListenerCount,
                                                                 DGUI.IconGroup.IconSize,
                                                                 DGUI.Icon.UnityEvent, DGUI.Icon.UnityEvent,
                                                                 ComponentColorName, DGUI.Colors.DisabledIconColorName)))
                    {
                        m_soundDataExpanded.value      = false;
                        m_effectExpanded.value         = false;
                        m_animatorEventsExpanded.value = false;
                        m_gameEventsExpanded.value     = false;
                        m_unityEventsExpanded.target   = true;
                        SoundyAudioPlayer.StopAllPlayers();
                    }
                }
                GUILayout.EndHorizontal();

                //ADD EXTRA SPACE if needed
                if (m_animatorEventsExpanded.target ||
                    m_effectExpanded.target ||
                    m_gameEventsExpanded.target)
                {
                    GUILayout.Space(DGUI.Properties.Space());
                }

                //DRAW SOUND
                if (m_soundDataExpanded.target)
                {
                    DGUI.Property.DrawWithFade(soundDataProperty, m_soundDataExpanded);
                }

                //DRAW EFFECT
                if (m_effectExpanded.target)
                {
                    DGUI.Doozy.DrawUIEffect(Target.gameObject,
                                            actions.Effect,
                                            GetProperty(PropertyName.ParticleSystem, effectProperty),
                                            GetProperty(PropertyName.Behavior, effectProperty),
                                            GetProperty(PropertyName.StopBehavior, effectProperty),
                                            GetProperty(PropertyName.AutoSort, effectProperty),
                                            GetProperty(PropertyName.SortingSteps, effectProperty),
                                            GetProperty(PropertyName.CustomSortingLayer, effectProperty),
                                            GetProperty(PropertyName.CustomSortingOrder, effectProperty),
                                            m_effectExpanded,
                                            ComponentColorName);
                }

                //DRAW ANIMATOR EVENTS
                if (m_animatorEventsExpanded.target)
                {
                    DGUI.List.DrawWithFade(animatorEventsProperty, m_animatorEventsExpanded, ComponentColorName, UILabels.ListIsEmpty);
                }

                //DRAW GAME EVENTS
                if (m_gameEventsExpanded.target)
                {
                    DGUI.List.DrawWithFade(gameEventsProperty, m_gameEventsExpanded, ComponentColorName, UILabels.ListIsEmpty, 1);
                }

                //DRAW EVENTS (UnityEvent)
                if (m_unityEventsExpanded.target)
                {
                    DGUI.Property.UnityEventWithFade(unityEventProperty, m_unityEventsExpanded, unityEventDisplayPath + ".Event", ComponentColorName, actions.UnityEventListenerCount);
                }
            }

            DGUI.FadeOut.End(expanded, true, alpha);
        }
Exemplo n.º 3
0
        private void DrawBehavior(string behaviorName, SceneLoadBehavior behavior, SerializedProperty behaviorProperty, AnimBool behaviorExpanded)
        {
            SerializedProperty loadSceneProperty   = GetProperty(PropertyName.OnLoadScene, behaviorProperty);
            SerializedProperty sceneLoadedProperty = GetProperty(PropertyName.OnSceneLoaded, behaviorProperty);

            AnimBool loadSceneExpanded   = GetAnimBool(loadSceneProperty.propertyPath, loadSceneProperty.isExpanded);
            AnimBool sceneLoadedExpanded = GetAnimBool(sceneLoadedProperty.propertyPath, sceneLoadedProperty.isExpanded);

            if (DGUI.Bar.Draw(behaviorName, NORMAL_BAR_SIZE, DGUI.Bar.Caret.CaretType.Caret, ComponentColorName, behaviorExpanded))
            {
                SoundyAudioPlayer.StopAllPlayers();
            }

            GUILayout.Space(-NormalBarHeight);

            DrawBehaviorIcons(behavior, behaviorExpanded);

            if (DGUI.FadeOut.Begin(behaviorExpanded, false))
            {
                GUILayout.BeginVertical();
                {
                    GUILayout.Space(DGUI.Properties.Space() * behaviorExpanded.faded);

                    GUILayout.BeginHorizontal();
                    {
                        if (DGUI.Doozy.DrawSectionButtonLeft(loadSceneExpanded.target,
                                                             UILabels.OnLoadScene + " (0%)",
                                                             DGUI.Icon.ActionStart,
                                                             ComponentColorName,
                                                             DGUI.Doozy.GetActionsIcons(behavior.OnLoadScene,
                                                                                        m_behaviorActionsIconsDatabase,
                                                                                        ComponentColorName)))
                        {
                            loadSceneExpanded.target  = true;
                            sceneLoadedExpanded.value = false;
                            SoundyAudioPlayer.StopAllPlayers();
                        }

                        GUILayout.Space(DGUI.Properties.Space());

                        if (DGUI.Doozy.DrawSectionButtonRight(sceneLoadedExpanded.target,
                                                              UILabels.OnSceneLoaded + " (90%)",
                                                              DGUI.Icon.ActionFinished,
                                                              ComponentColorName,
                                                              DGUI.Doozy.GetActionsIcons(behavior.OnSceneLoaded,
                                                                                         m_behaviorActionsIconsDatabase,
                                                                                         ComponentColorName)))
                        {
                            loadSceneExpanded.value    = false;
                            sceneLoadedExpanded.target = true;
                            SoundyAudioPlayer.StopAllPlayers();
                        }
                    }
                    GUILayout.EndHorizontal();

                    if (behaviorExpanded.target && !loadSceneExpanded.target && !sceneLoadedExpanded.target)
                    {
                        loadSceneExpanded.value = true;
                    }

                    loadSceneProperty.isExpanded   = loadSceneExpanded.target;
                    sceneLoadedProperty.isExpanded = sceneLoadedExpanded.target;

                    GUILayout.Space(DGUI.Properties.Space(3) * behaviorExpanded.faded);

                    DrawBehaviorActions(behavior.OnLoadScene, loadSceneProperty, loadSceneExpanded, "OnLoadScene");
                    DrawBehaviorActions(behavior.OnSceneLoaded, sceneLoadedProperty, sceneLoadedExpanded, "OnSceneLoaded");
                }
                GUILayout.EndVertical();
            }

            DGUI.FadeOut.End(behaviorExpanded);

            behaviorProperty.isExpanded = behaviorExpanded.target;
        }
Exemplo n.º 4
0
 protected override void OnDisable()
 {
     base.OnDisable();
     SoundyAudioPlayer.StopAllPlayers();
 }
 private static void StopAllSounds()
 {
     SoundyAudioPlayer.StopAllPlayers();
 }
Exemplo n.º 6
0
 protected override void OnDisable()
 {
     base.OnDisable();
     SoundyAudioPlayer.StopAllPlayers();
     ResetSimulatorTween(true, false);
 }