public static IEnumerable <VisualEffectPlayableSerializedEvent> GetEventNormalizedSpace(PlayableTimeSpace space, VisualEffectControlClip source, bool clipEvents)
        {
            IEnumerable <VisualEffectPlayableSerializedEvent> sourceEvents;

            if (clipEvents)
            {
                sourceEvents = CollectClipEvents(source);
            }
            else
            {
                sourceEvents = source.singleEvents;
            }
            return(GetEventNormalizedSpace(space, sourceEvents, source.clipStart, source.clipEnd));
        }
        private static IEnumerable <VisualEffectPlayableSerializedEvent> CollectClipEvents(VisualEffectControlClip source)
        {
            if (source.clipEvents != null)
            {
                foreach (var clip in source.clipEvents)
                {
                    var eventEnter = (VisualEffectPlayableSerializedEvent)clip.enter;
                    var eventExit  = (VisualEffectPlayableSerializedEvent)clip.exit;
                    eventEnter.editorColor = eventExit.editorColor = clip.editorColor;

                    yield return(eventEnter);

                    yield return(eventExit);
                }
            }
        }