| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 | // Animancer // https://kybernetik.com.au/animancer // Copyright 2018-2024 Kybernetik //#if UNITY_EDITORusing UnityEditor;using UnityEngine;namespace Animancer.Editor{    /// <summary>[Editor-Only] A custom GUI for an <see cref="AnimancerEvent.Dispatcher"/>.</summary>    /// https://kybernetik.com.au/animancer/api/Animancer.Editor/AnimancerEventDispatcherDrawer    [CustomGUI(typeof(AnimancerEvent.Dispatcher))]    public class AnimancerEventDispatcherDrawer : CustomGUI<AnimancerEvent.Dispatcher>    {        /************************************************************************************************************************/        /// <inheritdoc/>        public override void DoGUI()        {            var state = Value.State;            var events = state?.SharedEvents;            if (events == null)            {                EditorGUILayout.LabelField("Event Dispatcher", "Null");                return;            }            var targetPath = state != null                ? state.GetPath()                : "Null";            var eventSequenceDrawer = EventSequenceDrawer.Get(events);            var area = AnimancerGUI.LayoutRect(eventSequenceDrawer.CalculateHeight(events));            using (var label = PooledGUIContent.Acquire("Event Dispatcher"))            using (var summary = PooledGUIContent.Acquire(targetPath))                eventSequenceDrawer.DoGUI(ref area, events, label, summary);            if (eventSequenceDrawer.IsExpanded && state != null)            {                EditorGUI.indentLevel++;                var enabled = GUI.enabled;                GUI.enabled = false;                EditorGUILayout.Toggle("Has Owned Events", state.HasOwnedEvents);                GUI.enabled = enabled;                EditorGUI.indentLevel--;            }        }        /************************************************************************************************************************/    }}#endif
 |