Fix InnerGameData

This commit is contained in:
AeonLucid committed 2020-10-18 21:17:41 +02:00
1 parent daae9b9e4e
commit 6c075a4827
2 files changed
+21 -18

No files matched your search

@@ -21,6 +21,8 @@ namespace Impostor.Server.GameData.Objects
public uint HatId { get; private set; }
public uint PetId { get; private set; }
public uint SkinId { get; private set; }
public bool Disconnected { get; private set; }
@@ -41,6 +43,7 @@ namespace Impostor.Server.GameData.Objects
PlayerName = reader.ReadString();
ColorId = reader.ReadByte();
HatId = reader.ReadPackedUInt32();
PetId = reader.ReadPackedUInt32();
SkinId = reader.ReadPackedUInt32();
var flag = reader.ReadByte();
Disconnected = (flag & 1) > 0;
@@ -47,8 +47,6 @@ namespace Impostor.Server.GameData.Objects
{
if (initialState)
{
var gameGuid = reader.ReadBytesAndSize();
// var gameGuid = new Guid(reader.ReadBytesAndSize().Span);
var num = reader.ReadPackedInt32();
for (var i = 0; i < num; i++)
@@ -60,23 +58,25 @@ namespace Impostor.Server.GameData.Objects
}
else
{
var num = reader.ReadByte();
throw new NotImplementedException("This shouldn't happen, according to Among Us assembly..");
for (var i = 0; i < num; i++)
{
var id = reader.ReadByte();
var player = GetPlayerById(id);
if (player != null)
{
player.Deserialize(reader);
}
else
{
var playerInfo = new PlayerInfo(id);
playerInfo.Deserialize(reader);
_allPlayers.Add(playerInfo);
}
}
// var num = reader.ReadByte();
//
// for (var i = 0; i < num; i++)
// {
// var id = reader.ReadByte();
// var player = GetPlayerById(id);
// if (player != null)
// {
// player.Deserialize(reader);
// }
// else
// {
// var playerInfo = new PlayerInfo(id);
// playerInfo.Deserialize(reader);
// _allPlayers.Add(playerInfo);
// }
// }
}
}
}