/// <summary> /// The player buys a hotel. /// </summary> /// <param name="gameCard"></param> public void BuyHotel(GameCardViewModel gameCard) { if (gameCard.IsActivePlayerOwningPlayer()) { if (WindowContent.GetWindowContent().GetManagingPlayer().GetActivePlayer().IsMonopolyComplete(gameCard)) { gameCard.SetMaxMonopolyHouses(gameCard); if (gameCard.NrOfHousesLessThanMonopolyMax()) { gameCard.DecreaseHouseAmount(); gameCard.GetOwningPlayer().PlayerRemoveMoney(gameCard.GetHousePrice()); gamePool.BuildHotel(gameCard); gameCard.SetMinMonopolyHouses(gameCard); } else { WindowContent.GetWindowContent().OpenMessageBox("Bauen nicht möglich! Bauen Sie zunächst gleichmäßig viele Häuser auf diesem Monopol!"); } } } }
/// <summary> /// The player buys a hotel. /// </summary> /// <param name="gameCard"></param> public void SellHotel(GameCardViewModel gameCard) { if (gameCard.IsActivePlayerOwningPlayer()) { if (WindowContent.GetWindowContent().GetManagingPlayer().GetActivePlayer().IsMonopolyComplete(gameCard)) { gameCard.SetMinMonopolyHouses(gameCard); if (gameCard.NrOfHousesGreaterThanMonopolyMin()) { gameCard.SetMaxMonopolyHouses(gameCard); gameCard.DecreaseHouseAmount(); gameCard.GetOwningPlayer().PlayerAddMoney(gameCard.GetSellPrice()); gamePool.SellHotel(gameCard); } else { WindowContent.GetWindowContent().OpenMessageBox("Verkaufen nicht möglich! Um auf dieser Straße ein weiteres Haus verkaufen zu können müssen zunächst auf allen Straßen des Monopols gleich viele Häuser stehen!"); } } } }