protected virtual void OnLoopEnd()
        {
            CurrentQuote = "";
            ListActiveSFX.Clear();
            DicActiveAnimationObject.Clear();

            for (int L = 0; L < ListAnimationLayer.Count; L++)
            {
                foreach (VisibleTimeline ActiveBitmap in ListAnimationLayer[L].ListVisibleObject)
                {
                    ActiveBitmap.OnDeathFrame(this);
                }
                foreach (MarkerTimeline ActiveMarker in ListAnimationLayer[L].ListActiveMarker)
                {
                    ActiveMarker.OnDeathFrame(this);
                }
                foreach (PolygonCutterTimeline ActivePolygonCutter in ListAnimationLayer[L].ListPolygonCutter)
                {
                    ActivePolygonCutter.OnDeathFrame(this);
                }

                ListAnimationLayer[L].ResetAnimationLayer();
            }

            ActiveKeyFrame = LoopStart;

            for (int F = 0; F <= ActiveKeyFrame; F++)
            {
                UpdateKeyFrame(F);
            }
        }
        public override void Update(GameTime gameTime)
        {
            base.Update(gameTime);
            if (ActiveKeyFrame >= LoopEnd)
            {
                HasEnded       = true;
                ActiveKeyFrame = LoopStart;
                CurrentQuote   = "";
                ListActiveSFX.Clear();

                for (int L = 0; L < ListAnimationLayer.Count; L++)
                {
                    ListAnimationLayer[L].ResetAnimationLayer();
                }

                for (int F = 0; F <= ActiveKeyFrame; F++)
                {
                    UpdateKeyFrame(F);
                }
            }
        }