Add mention of why the serialisation happens outside stream usage

This commit is contained in:
Dean Herbert 2021-10-28 15:04:09 +09:00
parent ef26b0ba8a
commit a6669a3892

View File

@ -269,6 +269,7 @@ namespace osu.Game.Tournament
ladder.Matches.Where(p => p.LosersProgression.Value != null).Select(p => new TournamentProgression(p.ID, p.LosersProgression.Value.ID, true)))
.ToList();
// Serialise before opening stream for writing, so if there's a failure it will leave the file in the previous state.
string serialisedLadder = JsonConvert.SerializeObject(ladder,
new JsonSerializerSettings
{
@ -280,9 +281,7 @@ namespace osu.Game.Tournament
using (var stream = storage.GetStream(bracket_filename, FileAccess.Write, FileMode.Create))
using (var sw = new StreamWriter(stream))
{
sw.Write(serialisedLadder);
}
}
protected override UserInputManager CreateUserInputManager() => new TournamentInputManager();