private void OnReactionToIncomingAttack(object sender, IEnumerable <AttackAction> attacksReactedOn) { if (StateContext.CurrentState == this && StateContext.CurrentCombatStrategy.DecideToDefend(attacksReactedOn)) { StateContext.PrepareDefence(attacksReactedOn); if (StateContext.PerformedDefence != null) { StateContext.ChangeState(this, defendingState); } } }