]> git.deb.at Git - rhonda/impostor.git/commitdiff
Fix public/private when joining a game
authorAeonLucid <aeonlucid@gmail.com>
Sun, 11 Oct 2020 00:30:36 +0000 (02:30 +0200)
committerAeonLucid <aeonlucid@gmail.com>
Sun, 11 Oct 2020 00:30:36 +0000 (02:30 +0200)
src/Impostor.Server/Net/Messages/Message10AlterGame.cs
src/Impostor.Server/Net/State/Game.Incoming.cs
src/Impostor.Server/Net/State/Game.Outgoing.cs
src/Impostor.Server/Net/State/Game.State.cs
submodules/Hazel-Networking

index 772c4c4227aa47c0c0c28fb7a244651d9cab1624..f81e3a3e36e40f8b92e6c413851c6f7e1d1b7c11 100644 (file)
@@ -4,7 +4,7 @@ namespace Impostor.Server.Net.Messages
 {
     internal static class Message10AlterGame
     {
-        public static void Serialize(IMessageWriter writer, bool clear, int gameCode)
+        public static void Serialize(IMessageWriter writer, bool clear, int gameCode, bool isPublic)
         {
             if (clear)
             {
@@ -13,13 +13,15 @@ namespace Impostor.Server.Net.Messages
 
             writer.StartMessage(MessageFlags.HostGame);
             writer.Write(gameCode);
+            writer.Write((byte)AlterGameTags.ChangePrivacy);
+            writer.Write(isPublic);
             writer.EndMessage();
         }
 
-        public static void Deserialize(IMessageReader reader, out AlterGameTags gameTag, out bool value)
+        public static void Deserialize(IMessageReader reader, out AlterGameTags gameTag, out bool isPublic)
         {
             gameTag = (AlterGameTags) reader.ReadByte();
-            value = reader.ReadBoolean();
+            isPublic = reader.ReadBoolean();
         }
     }
 }
\ No newline at end of file
index af6ba6c782675cccb63e188480be3cdbf3418028..26a80b3c3af5abfb7ddfc95de22abcce224ff26b 100644 (file)
@@ -152,7 +152,7 @@ namespace Impostor.Server.Net.State
             using (var message = CreateMessage(MessageType.Reliable))
             {
                 WriteJoinedGameMessage(message, false, sender);
-                WriteAlterGameMessage(message, false);
+                WriteAlterGameMessage(message, false, IsPublic);
 
                 sender.Limbo = LimboStates.NotLimbo;
                 await message.SendToAsync(sender);
index c5538aaa894aacf2ddac5cfb4b39d4cc01f3d0b9..446668c2f240f645a6dc0d382b664a2c9e726cd3 100644 (file)
@@ -21,9 +21,9 @@ namespace Impostor.Server.Net.State
             Message07JoinedGame.Serialize(message, clear, Code, player.Client.Id, HostId, playerIds);
         }
 
-        private void WriteAlterGameMessage(IMessageWriter message, bool clear)
+        private void WriteAlterGameMessage(IMessageWriter message, bool clear, bool isPublic)
         {
-            Message10AlterGame.Serialize(message, clear, Code);
+            Message10AlterGame.Serialize(message, clear, Code, isPublic);
         }
 
         private void WriteKickPlayerMessage(IMessageWriter message, bool clear, int playerId, bool isBan)
index 66d856dca640180f0ba68ea0a5cd9a320ac7ed53..5e9b38baf20d4a70e798953e2b95380e3df2043d 100644 (file)
@@ -94,7 +94,7 @@ namespace Impostor.Server.Net.State
             foreach (var (_, player) in _players.Where(x => x.Value.Limbo == LimboStates.WaitingForHost))
             {
                 WriteJoinedGameMessage(message, true, player);
-                WriteAlterGameMessage(message, false);
+                WriteAlterGameMessage(message, false, IsPublic);
 
                 player.Limbo = LimboStates.NotLimbo;
                 await message.SendToAsync(player.Client);
index 7a7caf89e0c49ed59b3442987089a03df7de6c7a..0c61aa426a2e47be9ac82c601c2f19b9345992a1 160000 (submodule)
@@ -1 +1 @@
-Subproject commit 7a7caf89e0c49ed59b3442987089a03df7de6c7a
+Subproject commit 0c61aa426a2e47be9ac82c601c2f19b9345992a1