public void VerifyData()
        {
            ValidateBaseData();

            if (m_clips == null || m_clips.Count == 0)
                return;

            AnimationClip clip = m_clips[0];

            for (int i = m_clips.Count - 1; i >= 0; --i)
            {
                if (m_clips[i] == null)
                {
                    m_clips.RemoveAt(i);
                    m_positions.RemoveAt(i);
                }
            }

            foreach (TagTrack tagTrack in TagTracks)
                tagTrack.VerifyData(clip);

            foreach (TagTrack favourTrack in FavourTagTracks)
                favourTrack.VerifyData(clip);

            LeftFootStepTrack.VerifyData(clip);
            RightFootStepTrack.VerifyData(clip);
            WarpPositionTrack.VerifyData(clip);
            WarpRotationTrack.VerifyData(clip);
            EnableRootMotionTrack.VerifyData(clip);
            PoseFavourTrack.VerifyData(clip);
            WarpTrajLatTrack.VerifyData(clip);
            WarpTrajLongTrack.VerifyData(clip);
        }
        public void VerifyData()
        {
            if (PrimaryClip != null)
            {
                foreach (EventMarker evtMarker in Events)
                {
                    if (evtMarker.EventTime > PrimaryClip.length)
                    {
                        evtMarker.EventTime = PrimaryClip.length;
                    }
                }

                foreach (TagTrack tagTrack in TagTracks)
                {
                    tagTrack.VerifyData(PrimaryClip);
                }

                foreach (TagTrack favourTrack in FavourTagTracks)
                {
                    favourTrack.VerifyData(PrimaryClip);
                }

                LeftFootStepTrack.VerifyData(PrimaryClip);
                RightFootStepTrack.VerifyData(PrimaryClip);
                WarpPositionTrack.VerifyData(PrimaryClip);
                WarpRotationTrack.VerifyData(PrimaryClip);
                EnableRootMotionTrack.VerifyData(PrimaryClip);
                PoseFavourTrack.VerifyData(PrimaryClip);
                WarpTrajLatTrack.VerifyData(PrimaryClip);
                WarpTrajLongTrack.VerifyData(PrimaryClip);

                MotionModifier.VerifyData();
            }
        }