diff --git a/OpenRA.Game/Map/MapCache.cs b/OpenRA.Game/Map/MapCache.cs index 70fefbaa93fa..d632026d46dc 100644 --- a/OpenRA.Game/Map/MapCache.cs +++ b/OpenRA.Game/Map/MapCache.cs @@ -28,6 +28,7 @@ public sealed class MapCache : IEnumerable, IDisposable { 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 @@ public MapCache(ModData modData) 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 @@ public MapCache(ModData modData) 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) {