public IRoundResult ApplyRound(TeamEnumerator enumerator) { enumerator.Dispose(); var round = _roundBuilder.Build(); Rules.RulesValidator.ValidateRound(round); var roundResult = Game.PlayNextRound(round); _roundBuilder = null; return(roundResult); }
public TeamEnumerator StartRound() { if (_roundBuilder != null) { _roundBuilder.Build(); _roundBuilder = null; } _roundBuilder = new MafiaRoundBuilder(Game); return(new TeamEnumerator(Game.Teams)); }