protected override int ReadFromByteArray(ByteArrayReader reader) { base.ReadFromByteArray(reader); IsGameStarted = reader.ReadBool(); DeckSize = reader.ReadInt32(); PlayerIndex = reader.ReadInt32(); Reverse = reader.ReadBool(); Top = reader.Read<Card>(); Winner = reader.ReadString(); Players = reader.ReadStringList(); PlayerHandSizes = reader.ReadIntList(); Cards = reader.ReadList<Card>(); return reader.Index; }