protected override void DrawBoxGroup(CAF.Combat.BoxGroup currentGroup)
        {
            base.DrawBoxGroup(currentGroup);

            BoxGroup boxGroup = (BoxGroup)currentGroup;

            EditorGUILayout.LabelField("Sound", EditorStyles.boldLabel);
            boxGroup.hitSound = (ModObjectLink)EditorGUILayout.ObjectField("Hit Sound", boxGroup.hitSound, typeof(ModObjectLink), false);
            EditorGUILayout.Space();
        }
        /// <summary>
        /// Handles the lifetime process of box groups.
        /// </summary>
        /// <param name="groupIndex">The group number being processed.</param>
        /// <param name="boxGroup">The group being processed.</param>
        protected virtual void HandleBoxGroup(int groupIndex, CAF.Combat.BoxGroup boxGroup)
        {
            EntityManager entityManager = GetEntityManager();

            // Cleanup the box if it's active frames are over.
            if (entityManager.StateManager.CurrentStateFrame == boxGroup.activeFramesEnd + 1)
            {
                entityManager.CombatManager.hitboxManager.DeactivateHitboxGroup(groupIndex);
            }

            // Make sure we're in the frame window of the box.
            if (entityManager.StateManager.CurrentStateFrame < boxGroup.activeFramesStart ||
                entityManager.StateManager.CurrentStateFrame > boxGroup.activeFramesEnd)
            {
                return;
            }

            // Check if the charge level requirement was met.
            if (boxGroup.chargeLevelNeeded >= 0)
            {
                int currentChargeLevel = entityManager.CombatManager.CurrentChargeLevel;
                if (currentChargeLevel <= boxGroup.chargeLevelNeeded ||
                    currentChargeLevel > boxGroup.chargeLevelMax)
                {
                    return;
                }
            }

            // Create the box.
            switch (boxGroup.hitGroupType)
            {
            case CAF.Combat.BoxGroupType.HIT:
                entityManager.CombatManager.hitboxManager.CreateHitboxGroup(groupIndex);
                break;
            }
        }