コード例 #1
0
        public static List <WorldMapArea> Read(PatherPath.Logger logger)
        {
            //var list = File.ReadAllLines(@"..\PathingAPI\WorldToMap\WorldMapArea.csv").ToList().Skip(1).Select(l => l.Split(","))
            //    .Select(l => Create(l))
            //    .ToList();

            var list = JsonConvert.DeserializeObject <List <WorldMapArea> >(File.ReadAllText(@"..\PathingAPI\WorldToMap\WorldMapArea.json"));

            //var uimapLines = File.ReadAllLines(@"..\PathingAPI\WorldToMap\uimap.csv").ToList().Select(l => l.Split(","));
            //list.ForEach(wmp => PopulateUIMap(wmp, uimapLines));
            //System.IO.File.WriteAllText("WorldMapArea2.json", JsonConvert.SerializeObject(this.worldMapAreas));

            logger.WriteLine("Unsupported mini maps areas: " + string.Join(", ", list.Where(l => l.UIMapId == 0).Select(s => s.AreaName).OrderBy(s => s)));

            return(list);
        }
コード例 #2
0
        public Location GetWorldLocation(int uiMapId, float v1, float v2)
        {
            var worldMapArea = worldMapAreas.Where(i => i.UIMapId == uiMapId).FirstOrDefault();

            if (worldMapArea == null)
            {
                logger.WriteLine($"Unsupported mini map area, UIMapId {uiMapId} not found in WorldMapArea.json");
                return(new Location(0, 0, 0));
            }

            var worldX = worldMapArea.ToWorldX(v2);
            var worldY = worldMapArea.ToWorldY(v1);

            Initialise(worldMapArea.Continent);

            var location = search.CreateLocation(worldX, worldY);

            location.Continent = worldMapArea.Continent;
            return(location);
        }