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); } }
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); }
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; }
protected override void OnDisable() { base.OnDisable(); SoundyAudioPlayer.StopAllPlayers(); }
private static void StopAllSounds() { SoundyAudioPlayer.StopAllPlayers(); }
protected override void OnDisable() { base.OnDisable(); SoundyAudioPlayer.StopAllPlayers(); ResetSimulatorTween(true, false); }