public async void CreateChunks() { var repo = new ChunkRepository(); var originPoints = new[] { TilePosition.Zero, new TilePosition(0, 0, 1) }; var command = new CreateChunksCommand(originPoints); var chunk = await repo.AddChunks(command, CancellationToken.None); Assert.IsAssignableFrom <IEnumerable <Chunk> >(chunk); }
public Task <List <Chunk> > AddChunks(CreateChunksCommand command, CancellationToken cancellationToken) { var newChunks = command.ChunkOrigins .Select(position => new Chunk(position)) .ToList(); _chunks.AddRange(newChunks); return(Task.FromResult(newChunks)); }
public async Task <WorldViewModel> Handle(GetWorldQuery request, CancellationToken cancellationToken) { var chunksRange = Enumerable.Range(0, request.WorldSize).ToArray(); var tilesRange = Enumerable.Range(0, request.ChunkSize).ToArray(); // Could I just do this with a multi dim array? var chunkPositions = from x in chunksRange from y in chunksRange from z in chunksRange select new ChunkPosition(x, 0, z); var tilesPositions = from x in tilesRange from y in tilesRange from z in tilesRange select new TilePosition(x, 0, z); var createChunksCommand = new CreateChunksCommand(null); var chunksViewModel = await _mediator.Send(createChunksCommand, cancellationToken); return(new WorldViewModel { }); }