From a1347a7f325dbcdba5ef3f9e86a41b04757bf7fe Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Mon, 25 Sep 2017 21:31:20 +0100 Subject: [PATCH] Populate MapLocations from LoadMaps. This ensures that the map locations won't be created by the utility but means that LoadMaps must be called before attempting to use MapLocations. --- OpenRA.Game/Map/MapCache.cs | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/OpenRA.Game/Map/MapCache.cs b/OpenRA.Game/Map/MapCache.cs index 70fefbaa93..d632026d46 100644 --- a/OpenRA.Game/Map/MapCache.cs +++ b/OpenRA.Game/Map/MapCache.cs @@ -28,6 +28,7 @@ namespace OpenRA { public static readonly MapPreview UnknownMap = new MapPreview(null, null, MapGridType.Rectangular, null); public readonly IReadOnlyDictionary MapLocations; + readonly Dictionary mapLocations = new Dictionary(); readonly Cache previews; readonly ModData modData; @@ -45,8 +46,16 @@ namespace OpenRA previews = new Cache(uid => new MapPreview(modData, uid, gridType.Value, this)); sheetBuilder = new SheetBuilder(SheetType.BGRA); + MapLocations = new ReadOnlyDictionary(mapLocations); + } + + public void LoadMaps() + { + // Utility mod that does not support maps + if (!modData.Manifest.Contains()) + return; + // Enumerate map directories - var mapLocations = new Dictionary(); foreach (var kv in modData.Manifest.MapFolders) { var name = kv.Key; @@ -82,15 +91,6 @@ namespace OpenRA mapLocations.Add(package, classification); } - MapLocations = new ReadOnlyDictionary(mapLocations); - } - - public void LoadMaps() - { - // Utility mod that does not support maps - if (!modData.Manifest.Contains()) - return; - var mapGrid = modData.Manifest.Get(); foreach (var kv in MapLocations) {