protected virtual void OnFieldSold(Player player, IFieldRentable field) { FieldSold?.Invoke(this, new FieldSoldEventArgs() { FormerOwner = player, Field = field }); }
protected virtual void OnMortgagePayed(object source, IFieldRentable field) { MortgagePayed?.Invoke(this, new MortgagePayedEventArgs() { Field = field }); }
protected virtual void OnFieldBought(Player player, IFieldRentable field) { FieldBought?.Invoke(this, new FieldBoughtEventArgs() { NewOwner = player, Field = field }); }
public void BuyField(Player player, IFieldRentable field, int price) { player.Money -= price; field.Owner = player; field.CurrentRent = field.Rent[0]; OnFieldBought(player, field); }
protected virtual void OnChosePayMortgage(IFieldRentable field, Player player) { ChosePayMortgage?.Invoke(this, new ChoseMortgageEventArgs() { Field = field, Player = player }); }
public void PutUnderMortgage(Player player, IFieldRentable field) { player.Money += field.MortgageValue; field.UnderMortgage = true; field.CanMortgage = false; OnFieldMortgaged(this, field); }
protected virtual void OnChoseTrade(Player opponent, Player currentPlayer, IFieldRentable buyField, IFieldRentable sellField, int offerMoney, int askMoney) { ChoseTrade?.Invoke(this, new ChoseTradeEventArgs() { Opponent = opponent, CurrentPlayer = currentPlayer, BuyField = buyField, SellField = sellField, OfferMoney = offerMoney, AskMoney = askMoney }); }
public void PayOffMortgage(Player player, IFieldRentable field) { if (player.Money >= field.MortgageValue + field.MortgageValue / 10) { player.Money -= field.MortgageValue + field.MortgageValue / 10; field.UnderMortgage = false; field.CanMortgage = true; OnMortgagePayed(this, field); } else { Console.WriteLine("Not enough money"); } }
public void SellField(Player player, IFieldRentable field, int price) { player.Money += price; field.Owner = null; OnFieldSold(player, field); }