internal static void SetupModMap()
{
if (Main.dedServ)
{
return;
}
Array.Resize(ref MapHelper.tileLookup, TileLoader.TileCount);
Array.Resize(ref MapHelper.wallLookup, WallLoader.WallCount);
IList<Color> colors = new List<Color>();
IList<string> names = new List<string>();
foreach (ushort type in tileEntries.Keys)
{
MapHelper.tileLookup[type] = (ushort)(MapHelper.modPosition + colors.Count);
foreach (MapEntry entry in tileEntries[type])
{
ushort mapType = (ushort)(MapHelper.modPosition + colors.Count);
entryToTile[mapType] = type;
nameFuncs[mapType] = entry.getName;
colors.Add(entry.color);
names.Add(entry.name);
}
}
foreach (ushort type in wallEntries.Keys)
{
MapHelper.wallLookup[type] = (ushort)(MapHelper.modPosition + colors.Count);
foreach (MapEntry entry in wallEntries[type])
{
ushort mapType = (ushort)(MapHelper.modPosition + colors.Count);
entryToWall[mapType] = type;
nameFuncs[mapType] = entry.getName;
colors.Add(entry.color);
names.Add(entry.name);
}
}
Array.Resize(ref MapHelper.colorLookup, MapHelper.modPosition + colors.Count);
Lang.mapLegend.Resize(MapHelper.modPosition + names.Count);
for (int k = 0; k < colors.Count; k++)
{
MapHelper.colorLookup[MapHelper.modPosition + k] = colors[k];
Lang.mapLegend[MapHelper.modPosition + k] = names[k];
}
initialized = true;
}