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); }
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); }