Mystery setup
This commit is contained in:
@@ -14,28 +14,16 @@
|
||||
public class SeedController : Controller {
|
||||
public SeedController(
|
||||
RandomizeService randomizeService,
|
||||
MysteryRandomizer mysteryRandomizer,
|
||||
SeedService seedService,
|
||||
ILogger<SeedController> logger) {
|
||||
this.RandomizeService = randomizeService;
|
||||
this.MysteryRandomizer = mysteryRandomizer;
|
||||
this.SeedService = seedService;
|
||||
this.Logger = logger;
|
||||
|
||||
this.YamlSerializer =
|
||||
new SerializerBuilder()
|
||||
.WithNamingConvention(UnderscoredNamingConvention.Instance)
|
||||
.WithTypeConverter(new YamlStringEnumConverter())
|
||||
.WithTypeConverter(new RandomizableWeightsYamlConverters())
|
||||
.ConfigureDefaultValuesHandling(DefaultValuesHandling.OmitNull | DefaultValuesHandling.OmitEmptyCollections)
|
||||
.Build();
|
||||
}
|
||||
|
||||
private RandomizeService RandomizeService { get; }
|
||||
private MysteryRandomizer MysteryRandomizer { get; }
|
||||
private SeedService SeedService { get; }
|
||||
private ILogger<SeedController> Logger { get; }
|
||||
private ISerializer YamlSerializer { get; }
|
||||
|
||||
[Route("/generate")]
|
||||
[HttpPost]
|
||||
@@ -43,6 +31,7 @@
|
||||
if (!ModelState.IsValid) {
|
||||
return BadRequest(ModelState);
|
||||
}
|
||||
|
||||
try {
|
||||
var id = await this.RandomizeService.RandomizeSeed(settings);
|
||||
var url = string.Format("/seed/{0}", id);
|
||||
@@ -54,15 +43,24 @@
|
||||
|
||||
[Route("/mystery/{randomizer}")]
|
||||
[HttpPost]
|
||||
public ActionResult RollMystery([FromBody] MysterySettings mysterySettings, RandomizerInstance randomizer) {
|
||||
public async Task<ObjectResult> RollMystery([FromBody] MysterySettings mysterySettings, RandomizerInstance randomizer, bool race) {
|
||||
if (!ModelState.IsValid) {
|
||||
return BadRequest(ModelState);
|
||||
}
|
||||
|
||||
var seedSettings = new SeedSettings() { Randomizer = randomizer };
|
||||
this.MysteryRandomizer.Roll(mysterySettings, seedSettings);
|
||||
var baseSettings = new SeedSettings() {
|
||||
Randomizer = randomizer,
|
||||
Race = race ? RaceMode.Race : RaceMode.Normal,
|
||||
Mystery = MysteryMode.Mystery,
|
||||
};
|
||||
|
||||
return StatusCode(200, this.YamlSerializer.Serialize(mysterySettings));
|
||||
try {
|
||||
var id = await this.RandomizeService.RandomizeMystery(mysterySettings, baseSettings);
|
||||
var url = string.Format("/seed/{0}", id);
|
||||
return Accepted(url, id);
|
||||
} catch (InvalidSettingsException ex) {
|
||||
return BadRequest(ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
[Route("/multiworld")]
|
||||
|
||||
Reference in New Issue
Block a user