private Hitbox FindHitbox(float elapsed, List <Hitbox> hitboxes)
        {
            for (int kIndex = hitboxes.Count - 1; kIndex >= 0; kIndex--)
            {
                Hitbox h    = hitboxes[kIndex];
                float  time = FrameAndSecondsConverter._30Fps.FloatFramesToSeconds(h.frame);
                if (elapsed >= time)
                {
                    return(h);
                }
            }

            throw new Exception("Cannot find hitbox");
        }
        protected override void OnUpdate(float dt)
        {
            elapsed += dt;
            Hitbox            h = FindHitbox(elapsed, sortedHitboxes);
            RectPivotPosition rectPivotPosition = new RectPivotPosition(
                h.ShowPivotType(), h.pivotRelativePosition, h.size
                );

            collider.center = rectPivotPosition.RelativePositionOfPivotAt(
                RectPivotPosition.PivotType.Center
                );
            collider.size = h.size;
            if (collider.size == Vector3.zero)
            {
                collider.enabled = false;
            }
            else
            {
                collider.enabled = true;
            }
        }