private void DrawBehaviorIcons(SceneLoadBehavior behavior, AnimBool expanded) { if (DGUI.AlphaGroup.Begin(Mathf.Clamp(1 - expanded.faded, 0.2f, 1f))) { GUILayout.BeginHorizontal(GUILayout.Height(NormalBarHeight)); { GUILayout.FlexibleSpace(); if (!m_loadBehaviorIconsDatabase.ContainsKey(behavior)) { m_loadBehaviorIconsDatabase.Add(behavior, new List <DGUI.IconGroup.Data>()); } //GET Actions Icons m_loadBehaviorIconsDatabase[behavior] = DGUI.Doozy.GetBehaviorActionsIcons(m_loadBehaviorIconsDatabase[behavior], behavior.HasSound, behavior.HasEffect, behavior.HasAnimatorEvents, behavior.HasGameEvents, behavior.HasUnityEvents, ComponentColorName); //DRAW Actions Icons if (m_loadBehaviorIconsDatabase[behavior].Count > 0) { GUILayout.Space(DGUI.Properties.Space(4)); DGUI.IconGroup.Draw(m_loadBehaviorIconsDatabase[behavior], NormalBarHeight - DGUI.Properties.Space(4), false); } GUILayout.Space(DGUI.Properties.Space(3)); } GUILayout.EndHorizontal(); } DGUI.AlphaGroup.End(); }
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; }