]> git.deb.at Git - rhonda/impostor.git/commitdiff
Remove initial state flag from InnerGameData
authorminiduikboot <mini@duikbo.at>
Wed, 10 Nov 2021 22:04:21 +0000 (23:04 +0100)
committerminiduikboot <mini@duikbo.at>
Wed, 10 Nov 2021 22:04:21 +0000 (23:04 +0100)
src/Impostor.Server/Net/Inner/Objects/InnerGameData.cs

index 922a0a0fea87a5437e4d0b46b74368da128bd292..d939fed29ac0739d001af17ce771e2d290e40bd6 100644 (file)
@@ -59,16 +59,18 @@ namespace Impostor.Server.Net.Inner.Objects
                 return;
             }
 
-            if (initialState)
+            while (reader.Position < reader.Length)
             {
-                var num = reader.ReadPackedInt32();
-
-                for (var i = 0; i < num; i++)
+                var inner = reader.ReadMessage();
+                var playerInfo = this.GetPlayerById(inner.Tag);
+                if (playerInfo != null)
                 {
-                    var playerId = reader.ReadByte();
-                    var playerInfo = new InnerPlayerInfo(playerId);
-
-                    playerInfo.Deserialize(reader);
+                    playerInfo.Deserialize(inner);
+                }
+                else
+                {
+                    playerInfo = new InnerPlayerInfo(inner.Tag);
+                    playerInfo.Deserialize(inner);
 
                     if (!_allPlayers.TryAdd(playerInfo.PlayerId, playerInfo))
                     {
@@ -76,28 +78,6 @@ namespace Impostor.Server.Net.Inner.Objects
                     }
                 }
             }
-            else
-            {
-                while (reader.Position < reader.Length)
-                {
-                    var inner = reader.ReadMessage();
-                    var playerInfo = this.GetPlayerById(inner.Tag);
-                    if (playerInfo != null)
-                    {
-                        playerInfo.Deserialize(inner);
-                    }
-                    else
-                    {
-                        playerInfo = new InnerPlayerInfo(inner.Tag);
-                        playerInfo.Deserialize(inner);
-
-                        if (!_allPlayers.TryAdd(playerInfo.PlayerId, playerInfo))
-                        {
-                            throw new ImpostorException("Failed to add player to InnerGameData.");
-                        }
-                    }
-                }
-            }
         }
 
         public override async ValueTask<bool> HandleRpcAsync(ClientPlayer sender, ClientPlayer? target, RpcCalls call, IMessageReader reader)