public World First(string simulationId) { var filePath = _filePathBuilder.Build(simulationId); var snapshotAsJson = ReadNthLineFromFile(filePath, 0); var world = JsonConvert.DeserializeObject <World>(snapshotAsJson); return(world); }
public async Task SaveAsync(World world, string simulationId) { var filePath = _filePathBuilder.Build(simulationId); EnsureDirectoryExists(_filePathBuilder); EnsureFileExists(filePath); await using var file = File.AppendText(filePath); var worldAsJson = JsonConvert.SerializeObject(world); await file.WriteLineAsync(worldAsJson); }