private void StartNextRound() { if (_currentRound != -1) { CurrentRound.Exit(); } if (LastRound()) { LogRoundMessage("Finished all rounds"); RoundEvents.Instance.Raise(new FinishedRoundsEvent(Rounds [_currentRound])); OnRoundsFinished(); return; } _currentRound++; if (LastRound()) { RoundEvents.Instance.Raise(new LastRoundEvent(CurrentRound)); } LogRoundMessage("Starting new round"); _roundStarting = true; Rounds [_currentRound].Enter(this); StartRoundPreparation(); }