From be1754d424b2cc8a6c56e5e77d36d8141639543d Mon Sep 17 00:00:00 2001 From: Chris Forbes Date: Fri, 8 Jul 2011 21:53:29 +1200 Subject: [PATCH] bug #997 -- remove duplication from HackyAIInfo --- OpenRA.Mods.RA/HackyAI.cs | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/OpenRA.Mods.RA/HackyAI.cs b/OpenRA.Mods.RA/HackyAI.cs index d91a69df86..fc80422060 100644 --- a/OpenRA.Mods.RA/HackyAI.cs +++ b/OpenRA.Mods.RA/HackyAI.cs @@ -43,21 +43,15 @@ namespace OpenRA.Mods.RA [FieldLoader.LoadUsing("LoadBuildings")] public readonly Dictionary BuildingFractions = null; - static object LoadUnits(MiniYaml y) + static object LoadActorList(MiniYaml y, string field) { - Dictionary ret = new Dictionary(); - foreach (var t in y.NodesDict["UnitsToBuild"].Nodes) - ret.Add(t.Key, (float)FieldLoader.GetValue("units", typeof(float), t.Value.Value)); - return ret; + return y.NodesDict[field].Nodes.ToDictionary( + t => t.Key, + t => FieldLoader.GetValue(field, t.Value.Value)); } - static object LoadBuildings(MiniYaml y) - { - Dictionary ret = new Dictionary(); - foreach (var t in y.NodesDict["BuildingFractions"].Nodes) - ret.Add(t.Key, (float)FieldLoader.GetValue("units", typeof(float), t.Value.Value)); - return ret; - } + static object LoadUnits(MiniYaml y) { return LoadActorList(y, "UnitsToBuild"); } + static object LoadBuildings(MiniYaml y) { return LoadActorList(y, "BuildingFractions"); } public object Create(ActorInitializer init) { return new HackyAI(this); } }