From 70c180fb1917fe8e7b203d50f5ca0b3fd3282df8 Mon Sep 17 00:00:00 2001 From: js6pak Date: Thu, 7 Apr 2022 11:58:16 +0200 Subject: [PATCH] Make GameOptionsData de/serialization less confusing --- .../Innersloth/GameOptionsData.cs | 28 ++++++++++++------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/src/Impostor.Api/Innersloth/GameOptionsData.cs b/src/Impostor.Api/Innersloth/GameOptionsData.cs index a86058b..7c229d9 100644 --- a/src/Impostor.Api/Innersloth/GameOptionsData.cs +++ b/src/Impostor.Api/Innersloth/GameOptionsData.cs @@ -171,29 +171,33 @@ namespace Impostor.Api.Innersloth writer.Write((uint)VotingTime); writer.Write((bool)IsDefaults); - if (version > 1) + if (version >= 2) { writer.Write((byte)EmergencyCooldown); } - if (version > 2) + if (version >= 3) { writer.Write((bool)ConfirmImpostor); writer.Write((bool)VisualTasks); } - if (version > 3) + if (version >= 4) { writer.Write((bool)AnonymousVotes); writer.Write((byte)TaskBarUpdate); } - if (version > 4) + if (version >= 5) { RoleOptions.Serialize(writer); } - // V6 is equal to V5 + if (version >= 6) + { + // Nothing was changed in V6 + } + if (version > 6) { throw new ImpostorException($"Unknown GameOptionsData version {Version}."); @@ -239,29 +243,33 @@ namespace Impostor.Api.Innersloth IsDefaults = bytes.ReadBoolean(); - if (Version > 1) + if (Version >= 2) { EmergencyCooldown = bytes.ReadByte(); } - if (Version > 2) + if (Version >= 3) { ConfirmImpostor = bytes.ReadBoolean(); VisualTasks = bytes.ReadBoolean(); } - if (Version > 3) + if (Version >= 4) { AnonymousVotes = bytes.ReadBoolean(); TaskBarUpdate = (TaskBarUpdate)bytes.ReadByte(); } - if (Version > 4) + if (Version >= 5) { RoleOptions = RoleOptionsData.Deserialize(bytes); } - // V6 is equal to V5 + if (Version >= 6) + { + // Nothing was changed in V6 + } + if (Version > 6) { throw new ImpostorException($"Unknown GameOptionsData version {Version}."); -- 2.39.5