Пример #1
0
        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);
        }
Пример #2
0
        public static MapperMap Load(string fileName)
        {
            parser = new FOMapParser(fileName);
            if (parser.Parse())
            {
                instance = new MapperMap(parser.Map);
                return(instance);
            }

            return(null);
        }
Пример #3
0
        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);
        }