# HG changeset patch # User IBBoard # Date 1251023283 0 # Node ID d39de20f2ba1443c07559c747c7180ac67f5f03d # Parent 093ee2da0f6e72def1c3b34a21c429be72f3d155 Re #54: Add army loading support * Fix exceptions when loading army with units: * Remove obsolete methods * Add EnsureLoaded call to various getters to make sure that all required values are always loaded diff -r 093ee2da0f6e -r d39de20f2ba1 api/Objects/Race.cs --- a/api/Objects/Race.cs Sat Aug 22 20:02:29 2009 +0000 +++ b/api/Objects/Race.cs Sun Aug 23 10:28:03 2009 +0000 @@ -32,16 +32,6 @@ subID = (raceSubID == null ? "" : raceSubID); system = gameSystem; } - - [Obsolete("Use constructor with GameSystem argument instead")] - public Race(string raceID, string raceName, string gameSystemID, IWarFoundryFactory creatingFactory) : this(raceID, "", raceName, WarFoundryLoader.GetDefault().GetGameSystem(gameSystemID), creatingFactory) - { - } - - [Obsolete("Use constructor with GameSystem argument instead")] - public Race(string raceID, string raceSubID, string raceName, string gameSystemID, IWarFoundryFactory creatingFactory) : this(raceID, raceSubID, raceName, WarFoundryLoader.GetDefault().GetGameSystem(gameSystemID), creatingFactory) - { - } public string SubID { @@ -113,6 +103,7 @@ public bool HasCategoryOverrides() { + EnsureFullyLoaded(); return categories.Count > 0; } @@ -122,15 +113,6 @@ equipment.Add(item.ID, item); } - [Obsolete("Use AddEquipmentItem method instead")] - public void SetEquipmentItems(Dictionary items) - { - foreach (EquipmentItem item in items.Values) - { - AddEquipmentItem(item); - } - } - public EquipmentItem GetEquipmentItem(string id) { EnsureFullyLoaded(); @@ -139,6 +121,7 @@ public List GetEquipmentList() { + EnsureFullyLoaded(); List items = new List(); foreach (EquipmentItem item in equipment.Values) @@ -155,17 +138,9 @@ unitTypes.Add(type.ID, type); } - [Obsolete("Use AddUnitType method instead")] - public void SetUnitTypes(Dictionary types) - { - foreach (UnitType type in types.Values) - { - AddUnitType(type); - } - } - public UnitType[] GetUnitTypes(Category cat) { + EnsureFullyLoaded(); BuildUnitTypesByCategoryCache(); Dictionary unitTypesDictionary; unitTypesByCat.TryGetValue(cat, out unitTypesDictionary); @@ -222,13 +197,13 @@ public UnitType GetUnitType(string id) { - UnitType type = null; - unitTypes.TryGetValue(id, out type); - return type; + EnsureFullyLoaded(); + return DictionaryUtils.GetValue(unitTypes, id); } public List GetAbilityList() { + EnsureFullyLoaded(); List items = new List(); items.AddRange(abilities.Values); return items; @@ -251,9 +226,8 @@ public Ability GetAbility(string id) { - Ability ability = null; - abilities.TryGetValue(id, out ability); - return ability; + EnsureFullyLoaded(); + return DictionaryUtils.GetValue(abilities, id); } protected virtual Dictionary RaceUnitTypes