Я пытаюсь сохранить контент в моей игре на Json.net. с помощью этого ресурса я сохранил свою игру в формате JSON, но теперь я хочу сохранить ее в формате Bson, поскольку не хочу, чтобы мои игроки могли легко редактировать файлы сохранения.
Вот код работает и сохраняет мои игровые данные в json.
File.WriteAllText(path, JsonConvert.SerializeObject(objectToSave, Formatting.Indented,
new JsonSerializerSettings
{
ReferenceLoopHandling = ReferenceLoopHandling.Ignore
}));
Здесь я пытаюсь сохранить свои игровые данные в формате bson, но я не совсем знаю, как отключить ReferenceLoopHandlingв формате bson.
using (var stream = new MemoryStream())
{
var serializer = new JsonSerializer();
var writer = new BsonWriter(stream);
serializer.ReferenceLoopHandling.Equals(false);
serializer.Serialize(writer, objectToSave);
File.WriteAllText(path, serializer.ToString());
}
Когда я запускаю этот код, я получаю следующую ошибку.
JsonSerializationException: Self referencing loop detected for property 'graph' with type 'StoryGraph'. Path 'nodes[0]'.