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 hitboxes and detectboxes.
        /// </summary>
        /// <param name="group">The group number being processed.</param>
        /// <param name="hitboxGroup">The group being processed.</param>
        protected virtual void HandleBoxGroup(int group, BoxGroup hitboxGroup)
        {
            // If this is the end of the group's lifetime, deactivate them.
            if (controller.StateManager.CurrentStateFrame == hitboxGroup.activeFramesEnd + 1)
            {
                CombatManager.hitboxManager.DeactivateHitboxGroup(group);
                //((EntityHitboxManager)CombatManager.hitboxManager).DeactivateDetectboxes(group);
            }

            // If we're within the lifetime of the boxes, do nothing.
            if (controller.StateManager.CurrentStateFrame < hitboxGroup.activeFramesStart ||
                controller.StateManager.CurrentStateFrame > hitboxGroup.activeFramesEnd)
            {
                return;
            }

            // Create the correct box.
            switch (hitboxGroup.hitGroupType)
            {
            case BoxGroupType.HIT:
                CombatManager.hitboxManager.CreateHitboxGroup(group);
                break;
            }
        }