public override void Process() { // NOTE: This (re)initializes a static data structure used for // resolving names into sector locations, so needs to be run // before any other objects (e.g. Worlds) are loaded. ResourceManager resourceManager = new ResourceManager(context.Server); // // Jump // int jump = Util.Clamp(GetIntOption("jump", 6), 0, 12); // // Coordinates // SectorMap.Milieu map = SectorMap.ForMilieu(resourceManager, GetStringOption("milieu")); Location loc = new Location(map.FromName("Spinward Marches").Location, 1910); if (HasOption("sector") && HasOption("hex")) { string sectorName = GetStringOption("sector"); int hex = GetIntOption("hex", 0); Sector sector = map.FromName(sectorName); if (sector == null) { throw new HttpError(404, "Not Found", string.Format("The specified sector '{0}' was not found.", sectorName)); } loc = new Location(sector.Location, hex); } else if (HasLocation()) { loc = GetLocation(); } Selector selector = new HexSelector(map, resourceManager, loc, jump); var data = new Results.JumpWorldsResult(); data.Worlds.AddRange(selector.Worlds); SendResult(context, data); }
public override void Process() { // NOTE: This (re)initializes a static data structure used for // resolving names into sector locations, so needs to be run // before any other objects (e.g. Worlds) are loaded. ResourceManager resourceManager = new ResourceManager(context.Server); // // Jump // int jump = Util.Clamp(GetIntOption("jump", 6), 0, 12); // // Coordinates // SectorMap.Milieu map = SectorMap.ForMilieu(resourceManager, GetStringOption("milieu")); Location loc = new Location(map.FromName("Spinward Marches").Location, 1910); if (HasOption("sector") && HasOption("hex")) { string sectorName = GetStringOption("sector"); int hex = GetIntOption("hex", 0); Sector sector = map.FromName(sectorName); if (sector == null) throw new HttpError(404, "Not Found", string.Format("The specified sector '{0}' was not found.", sectorName)); loc = new Location(sector.Location, hex); } else if (HasLocation()) { loc = GetLocation(); } Selector selector = new HexSelector(map, resourceManager, loc, jump); var data = new Results.JumpWorldsResult(); data.Worlds.AddRange(selector.Worlds); SendResult(context, data); }
public override void Process(ResourceManager resourceManager) { // NOTE: This (re)initializes a static data structure used for // resolving names into sector locations, so needs to be run // before any other objects (e.g. Worlds) are loaded. SectorMap.Milieu map = SectorMap.ForMilieu(resourceManager, GetStringOption("milieu")); // // Jump // int jump = GetIntOption("jump", 6).Clamp(0, 12); // // Coordinates // Location loc = Location.Empty; if (HasOption("sector") && HasOption("hex")) { string sectorName = GetStringOption("sector"); int hex = GetIntOption("hex", 0); Sector sector = map.FromName(sectorName) ?? throw new HttpError(404, "Not Found", $"The specified sector '{sectorName}' was not found."); loc = new Location(sector.Location, hex); } else if (HasLocation()) { loc = GetLocation(); } Selector selector = new HexSelector(map, resourceManager, loc, jump); var data = new Results.JumpWorldsResult(); data.Worlds.AddRange(selector.Worlds); SendResult(data); }