internal void RequestPlayerSpendCoinTokensBeforeBuyPhase(GameState gameState)
{
this.EnterPhase(PlayPhase.SpendCoinTokens);
int coinToSpend = this.actions.GetCoinAmountToSpendInBuyPhase(gameState);
if (coinToSpend > this.AvailableCoinTokens || coinToSpend < 0)
throw new Exception("Can not spend that many coins");
if (coinToSpend != 0)
{
this.AddCoinTokens(-coinToSpend);
this.gameLog.PushScope();
this.AddCoins(coinToSpend);
this.gameLog.PopScope();
}
}