public static void RegisterMap(Mod owner, string assetName, MapInformation mapInformation) { if (!RegisteredMaps.ContainsKey(assetName)) { RegisteredMaps[assetName] = new List <MapInformation>(); } RegisteredMaps[assetName].Add(mapInformation); }
public static TileSheet GetMatchingTileSheetInList(TileSheet toMatch, ReadOnlyCollection <TileSheet> list, MapInformation map) { TileSheet matchingTileSheet = null; foreach (TileSheet injectingTileSheet in list) { if (MatchTileSheetsByTexture(toMatch, injectingTileSheet)) { matchingTileSheet = injectingTileSheet; } } if (matchingTileSheet == null) { throw new Exception($"Could not find matching tilesheet {toMatch.ImageSource} in mod {map.Owner.ModSettings.Name} in map {map.Map.Id}!"); } return(matchingTileSheet); }
public static Layer GetMatchingLayerInList(Layer toMatch, ReadOnlyCollection <Layer> list, MapInformation map) { Layer matchingLayer = null; foreach (Layer injectingLayer in list) { if (MatchLayersById(toMatch, injectingLayer)) { matchingLayer = injectingLayer; } } if (matchingLayer == null) { throw new Exception($"Could not find matching layer {toMatch.Id} in mod {map.Owner.ModSettings.Name} in map {map.Map.Id}!"); } return(matchingLayer); }