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; } }