diff --git a/OpenRA.Game/Map.cs b/OpenRA.Game/Map.cs index 557cb07fc7..52233ad585 100644 --- a/OpenRA.Game/Map.cs +++ b/OpenRA.Game/Map.cs @@ -162,18 +162,10 @@ namespace OpenRA return ret; }); - - // Rules - Rules = yaml.NodesDict["Rules"].Nodes; - - // Sequences - Sequences = (yaml.NodesDict.ContainsKey("Sequences")) ? yaml.NodesDict["Sequences"].Nodes : new List(); - - // Weapons - Weapons = (yaml.NodesDict.ContainsKey("Weapons")) ? yaml.NodesDict["Weapons"].Nodes : new List(); - - // Voices - Voices = (yaml.NodesDict.ContainsKey("Voices")) ? yaml.NodesDict["Voices"].Nodes : new List(); + Rules = NodesOrEmpty(yaml, "Rules"); + Sequences = NodesOrEmpty(yaml, "Sequences"); + Weapons = NodesOrEmpty(yaml, "Weapons"); + Voices = NodesOrEmpty(yaml, "Voices"); CustomTerrain = new string[MapSize.X, MapSize.Y]; @@ -181,6 +173,11 @@ namespace OpenRA MapResources = Lazy.New(() => LoadResourceTiles()); } + static List NodesOrEmpty(MiniYaml y, string s) + { + return y.NodesDict.ContainsKey(s) ? y.NodesDict[s].Nodes : new List(); + } + public void Save(string toPath) { MapFormat = 5;