private static bool precache(string name) { FOMapParser parser = new FOMapParser(Config.PresetsPath + @"\" + name); if (!parser.Parse()) { return(false); } FOMap map = parser.Map; Preset p = new Preset(); foreach (FOCommon.Maps.Tile tile in map.Tiles) { BigTile bt = p.GetBigTile(tile.X / (2 * (Config.BigTileEdgeSize + 1)), (tile.Y / (2 * (Config.BigTileEdgeSize + 1)) + 1), true); bt.AddTileClone(tile); } foreach (MapObject obj in map.Objects) { BigTile bt = p.GetBigTile(obj.MapX / (2 * (Config.BigTileEdgeSize + 1)), (obj.MapY / (2 * (Config.BigTileEdgeSize + 1)) + 1), true); bt.AddObjectClone(obj); } cache.Add(name, p); return(true); }
public static MapperMap Load(string fileName) { parser = new FOMapParser(fileName); if (parser.Parse()) { instance = new MapperMap(parser.Map); return(instance); } return(null); }
private static MapHeaderCache ReadMapHeaderFile(string MapPath) { FOMapParser parser = new FOMapParser(MapPath); parser.Parse(true); MapHeaderCache hdc = new MapHeaderCache(); hdc.Data = parser.Map.Header; hdc.LastWriteTime = File.GetLastWriteTime(MapPath); _mapHeaders[MapPath] = hdc; return(hdc); }