public void Start() { while (!_gameData.IsGameFinished) { var player = _gameData.PlayersCircularManager.GetNext(); var playerStatus = player.RoundStatus; playerStatus.Clear(); var processor = new PlayerActionProcessorManager(_gameData, player.PlayerData, playerStatus); while (!playerStatus.IsMainActionDone) { PlayerMainAction playerAction = player.Connection.DoMainAction(_gameData.GetGameDto()); processor.ProcessMainAction(playerAction); } while (!playerStatus.IsCustomerTaken && player.PlayerData.CanTakeCustomer(_gameData)) { Customer selectedCustomer = player.Connection.TakeCustomer(_gameData); processor.ProcessTakeCustomerAction(selectedCustomer); } playerStatus.IsActionFinished = true; } }
public void Start() { while (!_gameData.IsGameFinished) { var player = _gameData.PlayersCircularManager.GetNext(); var playerStatus = player.RoundStatus; playerStatus.Clear(); var processor = new PlayerActionProcessorManager(_gameData, player.PlayerData, playerStatus); while (!playerStatus.IsMainActionDone) { PlayerMainAction playerAction = player.Connection.DoMainAction(_gameData.GetGameDto()); processor.ProcessMainAction(playerAction); } while (!playerStatus.IsCustomerTaken && player.PlayerData.CanTakeCustomer(_gameData)) { Customer selectedCustomer = player.Connection.TakeCustomer(_gameData); processor.ProcessTakeCustomerAction(selectedCustomer); } playerStatus.IsActionFinished = true; } }