public TimeIndex RetrieveDebugTimeIndex(ref Binary binary)
        {
            if (Debugger.instance.rewind)
            {
                TaggedAnimationClip taggedClip = m_Timeline.TaggedClip;

                if (taggedClip != null)
                {
                    float sampleTimeInSeconds = m_Timeline.DebugTime;

                    if (sampleTimeInSeconds >= 0.0f)
                    {
                        AnimationSampleTime animSampleTime = new AnimationSampleTime()
                        {
                            clip = taggedClip,
                            sampleTimeInSeconds = sampleTimeInSeconds
                        };

                        return(animSampleTime.GetTimeIndex(ref binary));
                    }
                }
            }

            return(TimeIndex.Invalid);
        }
        public void HighlightTimeIndex(ref MotionSynthesizer synthesizer, TimeIndex timeIndex, bool debug = false)
        {
            AnimationSampleTime animSampleTime = AnimationSampleTime.CreateFromTimeIndex(Asset, ref synthesizer.Binary, timeIndex);

            if (animSampleTime.IsValid)
            {
                HighlightAnimationClip(animSampleTime.clip);
                HighlightCurrentSamplingTime(animSampleTime.clip, animSampleTime.sampleTimeInSeconds, debug);
            }
        }