Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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));
        }
Ejemplo n.º 3
0
        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
            {
            });
        }