// Animancer // https://kybernetik.com.au/animancer // Copyright 2018-2024 Kybernetik // #if UNITY_EDITOR using System; using UnityEngine; namespace Animancer.Editor.TransitionLibraries { /// [Editor-Only] /// A for editing transition modifiers. /// /// https://kybernetik.com.au/animancer/api/Animancer.Editor.TransitionLibraries/TransitionLibraryModifiersPage [Serializable] public class TransitionLibraryModifiersPage : TransitionLibraryWindowPage { /************************************************************************************************************************/ [SerializeField] private TransitionModifierTableGUI _TableGUI; /************************************************************************************************************************/ /// public override string DisplayName => "Transition Modifiers"; /// public override string HelpTooltip => "Modifiers allow you to replace the usual fade duration for specific combinations of transitions."; /// public override int Index => 0; /************************************************************************************************************************/ /// public override void OnGUI(Rect area) { _TableGUI ??= new(); if (Window.Data.Transitions.Length == 0) { area = new Rect( area.x + AnimancerGUI.StandardSpacing, area.y + AnimancerGUI.StandardSpacing, area.width - AnimancerGUI.StandardSpacing * 2, AnimancerGUI.LineHeight); GUI.Label(area, "Library contains no Transitions"); AnimancerGUI.NextVerticalArea(ref area); if (GUI.Button(area, "Create Transition")) TransitionLibraryOperations.CreateTransition(Window); } else { _TableGUI.DoGUI(area, Window); } TransitionLibraryOperations.HandleBackgroundInput(area, Window); } /************************************************************************************************************************/ } } #endif