public PlayerIncome Clone() { var ret = new PlayerIncome(FreeArmies); ret.BonusRestrictions = this.BonusRestrictions.ToDictionary(o => o.Key, o => o.Value); return(ret); }
/// <param name="income">We can pass a null PlayerIncome class, but none of the methods on this class should be called until one is supplied via SupplyIncome</param> public PlayerIncomeTracker(PlayerIncome income, MapDetails map) { _income = income; _map = map; _armiesUsedOnBonuses = new Dictionary <BonusIDType, int>(); _freeArmiesUsedOn = new Dictionary <TerritoryIDType, int>(); }
public static PlayerIncome ReadPlayerIncome(JObject node) { var ret = new PlayerIncome(); ret.FreeArmies = (int)node["freeArmies"]; ret.BonusRestrictions = node["bonusRestrictions"].As <JArray>().ToDictionary(o => (BonusIDType)(int)o["bonusID"], o => (int)o["value"]); return(ret); }
public void SupplyIncome(PlayerIncome income) { Assert.Fatal(income != null, "Cannot un-load income"); this._income = income; }