/// <inheritdoc /> public Task PopulateAsync(TChunk chunk) { IAsyncChunkPopulatorContracts.PopulateAsync(chunk); this.populator.Populate(chunk); return(TaskUtilities.CompletedTask); }
/// <inheritdoc /> public async Task PopulateAsync(IVoxelGridChunk chunk) { IAsyncChunkPopulatorContracts.PopulateAsync(chunk); using (var mapPin = await this.chunkFactory.CreateAsync(chunk.Key.ToOverheadKey()).DontMarshallContext()) { var min = chunk.VoxelsStageView.LowerBounds; var max = chunk.VoxelsStageView.UpperBounds; this.GenerateValues(mapPin.Value, min, max, chunk); } }
/// <inheritdoc /> public async Task PopulateAsync(ISkyIslandMapChunk chunk) { IAsyncChunkPopulatorContracts.PopulateAsync(chunk); var chunkEntity = await this.store.TryGetAsync(chunk.Key).DontMarshallContext(); if (chunkEntity.HasValue) { this.persister.FromPersistable(chunkEntity.Value, chunk); } else { this.fallback.Populate(chunk); } }