public static SearchResultItem LocationToSearchResult(SectorMap map, ResourceManager resourceManager, ItemLocation location) { if (location is WorldLocation) { Sector sector; World world; ((WorldLocation)location).Resolve(map, resourceManager, out sector, out world); if (sector == null || world == null) return null; WorldResult r = new WorldResult(); r.SectorX = sector.X; r.SectorY = sector.Y; r.SectorTags = sector.TagString; r.HexX = world.X; r.HexY = world.Y; r.Name = world.Name; r.Sector = sector.Names[0].Text; r.Uwp = world.UWP; r.Importance = world.ImportanceValue; return r; } else if (location is SubsectorLocation) { Sector sector; Subsector subsector; ((SubsectorLocation)location).Resolve(map, out sector, out subsector); if (sector == null || subsector == null) return null; SubsectorResult r = new SubsectorResult(); r.SectorX = sector.X; r.SectorY = sector.Y; r.SectorTags = sector.TagString; r.Name = subsector.Name; r.Index = subsector.Index; r.Sector = sector.Names[0].Text; return r; } else if (location is SectorLocation) { Sector sector = ((SectorLocation)location).Resolve(map); if (sector == null) return null; SectorResult r = new SectorResult(); r.SectorX = sector.X; r.SectorY = sector.Y; r.SectorTags = sector.TagString; r.Name = sector.Names[0].Text; return r; } return null; }
internal static Item LocationToSearchResult(SectorMap.Milieu map, ResourceManager resourceManager, ItemLocation location) { if (location is WorldLocation) { Sector sector; World world; ((WorldLocation)location).Resolve(map, resourceManager, out sector, out world); if (sector == null || world == null) return null; WorldResult r = new WorldResult(); r.SectorX = sector.X; r.SectorY = sector.Y; r.SectorTags = sector.TagString; r.HexX = world.X; r.HexY = world.Y; r.Name = world.Name; r.Sector = sector.Names[0].Text; r.Uwp = world.UWP; r.Importance = world.ImportanceValue; return r; } if (location is SubsectorLocation) { Sector sector; Subsector subsector; ((SubsectorLocation)location).Resolve(map, out sector, out subsector); if (sector == null || subsector == null) return null; SubsectorResult r = new SubsectorResult(); r.SectorX = sector.X; r.SectorY = sector.Y; r.SectorTags = sector.TagString; r.Name = subsector.Name; r.Index = subsector.Index; r.Sector = sector.Names[0].Text; return r; } if (location is SectorLocation) { Sector sector = ((SectorLocation)location).Resolve(map); if (sector == null) return null; SectorResult r = new SectorResult(); r.SectorX = sector.X; r.SectorY = sector.Y; r.SectorTags = sector.TagString; r.Name = sector.Names[0].Text; return r; } if (location is LabelLocation) { LabelLocation label = location as LabelLocation; Location l = Astrometrics.CoordinatesToLocation(label.Coords); Sector sector = label.Resolve(map); LabelResult r = new LabelResult(); r.Name = label.Label; r.SectorX = l.Sector.X; r.SectorY = l.Sector.Y; r.HexX = l.Hex.X;; r.HexY = l.Hex.Y; r.Scale = label.Radius > 80 ? 4 : label.Radius > 40 ? 8 : label.Radius > 20 ? 32 : 64; r.SectorTags = sector.TagString; return r; } throw new ArgumentException(string.Format("Unexpected result type: {0}", location.GetType().Name), "location"); }
internal static Item LocationToSearchResult(SectorMap.Milieu map, ResourceManager resourceManager, ItemLocation location) { if (location is WorldLocation) { Sector sector; World world; ((WorldLocation)location).Resolve(map, resourceManager, out sector, out world); if (sector == null || world == null) { return(null); } WorldResult r = new WorldResult(); r.SectorX = sector.X; r.SectorY = sector.Y; r.SectorTags = sector.TagString; r.HexX = world.X; r.HexY = world.Y; r.Name = world.Name; r.Sector = sector.Names[0].Text; r.Uwp = world.UWP; r.Importance = world.ImportanceValue; return(r); } if (location is SubsectorLocation) { Sector sector; Subsector subsector; ((SubsectorLocation)location).Resolve(map, out sector, out subsector); if (sector == null || subsector == null) { return(null); } SubsectorResult r = new SubsectorResult(); r.SectorX = sector.X; r.SectorY = sector.Y; r.SectorTags = sector.TagString; r.Name = subsector.Name; r.Index = subsector.Index; r.Sector = sector.Names[0].Text; return(r); } if (location is SectorLocation) { Sector sector = ((SectorLocation)location).Resolve(map); if (sector == null) { return(null); } SectorResult r = new SectorResult(); r.SectorX = sector.X; r.SectorY = sector.Y; r.SectorTags = sector.TagString; r.Name = sector.Names[0].Text; return(r); } if (location is LabelLocation) { LabelLocation label = location as LabelLocation; Location l = Astrometrics.CoordinatesToLocation(label.Coords); Sector sector = label.Resolve(map); LabelResult r = new LabelResult(); r.Name = label.Label; r.SectorX = l.Sector.X; r.SectorY = l.Sector.Y; r.HexX = l.Hex.X;; r.HexY = l.Hex.Y; r.Scale = label.Radius > 80 ? 4 : label.Radius > 40 ? 8 : label.Radius > 20 ? 32 : 64; r.SectorTags = sector.TagString; return(r); } throw new ArgumentException(string.Format("Unexpected result type: {0}", location.GetType().Name), "location"); }
public static SearchResultItem LocationToSearchResult(SectorMap map, ResourceManager resourceManager, ItemLocation location) { if (location is WorldLocation) { Sector sector; World world; ((WorldLocation)location).Resolve(map, resourceManager, out sector, out world); if (sector == null || world == null) { return(null); } WorldResult r = new WorldResult(); r.SectorX = sector.X; r.SectorY = sector.Y; r.HexX = (world.Hex / 100); r.HexY = (world.Hex % 100); r.Name = world.Name; r.Sector = sector.Names[0].Text; r.Uwp = world.UWP; return(r); } else if (location is SubsectorLocation) { Sector sector; Subsector subsector; ((SubsectorLocation)location).Resolve(map, out sector, out subsector); if (sector == null || subsector == null) { return(null); } SubsectorResult r = new SubsectorResult(); r.SectorX = sector.X; r.SectorY = sector.Y; r.Name = subsector.Name; r.Index = subsector.Index; r.Sector = sector.Names[0].Text; return(r); } else if (location is SectorLocation) { Sector sector = ((SectorLocation)location).Resolve(map); if (sector == null) { return(null); } SectorResult r = new SectorResult(); r.SectorX = sector.X; r.SectorY = sector.Y; r.Name = sector.Names[0].Text; return(r); } return(null); }