public async Task <IActionResult> Move(Guid id, [FromBody] MoveMazeObjects model) { model.MazeId = id; await _commandSender.SendAsync <MoveMazeObjects, Maze>(model); var state = (await _queryDispatcher.DispatchAsync <GetMaze, MazeDetailsModel>(new GetMaze { Id = model.MazeId })).GameState; return(new OkObjectResult(state)); }
public void MoveMazeObjects(MoveMazeObjects cmd, IValidator <MoveMazeObjects> validator) { validator.ValidateCommand(cmd); if (cmd.Direction == "stay") { GameState.StateResult = "You stayed on the same position only monster moved"; MoveDomokun(); } else { if (MovePony(cmd.Direction)) { MoveDomokun(); } } UpdateState(); AddEvent(new MazeObjectsMoved { AggregateRootId = Id }); }