示例#1
0
        public World First(string simulationId)
        {
            var filePath = _filePathBuilder.Build(simulationId);

            var snapshotAsJson = ReadNthLineFromFile(filePath, 0);
            var world          = JsonConvert.DeserializeObject <World>(snapshotAsJson);

            return(world);
        }
示例#2
0
        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);
        }