Beispiel #1
0
        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;
            }
        }
Beispiel #2
0
        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;
            }
        }