Esempio n. 1
0
        public static PlayerTeam DeserializeLengthDelimited(Stream stream)
        {
            PlayerTeam playerTeam = Pool.Get <PlayerTeam>();

            PlayerTeam.DeserializeLengthDelimited(stream, playerTeam, false);
            return(playerTeam);
        }
Esempio n. 2
0
        public static RelationshipManager DeserializeLengthDelimited(Stream stream, RelationshipManager instance, bool isDelta)
        {
            if (!isDelta && instance.teamList == null)
            {
                instance.teamList = Pool.Get <List <PlayerTeam> >();
            }
            long position = (long)ProtocolParser.ReadUInt32(stream);

            position += stream.Position;
            while (stream.Position < position)
            {
                int num = stream.ReadByte();
                if (num == -1)
                {
                    throw new EndOfStreamException();
                }
                if (num == 8)
                {
                    instance.lastTeamIndex = ProtocolParser.ReadUInt64(stream);
                }
                else if (num == 18)
                {
                    instance.teamList.Add(PlayerTeam.DeserializeLengthDelimited(stream));
                }
                else if (num == 24)
                {
                    instance.maxTeamSize = (int)ProtocolParser.ReadUInt64(stream);
                }
                else
                {
                    Key key = ProtocolParser.ReadKey((byte)num, stream);
                    if (key.Field == 0)
                    {
                        throw new ProtocolBufferException("Invalid field id: 0, something went wrong in the stream");
                    }
                    ProtocolParser.SkipKey(stream, key);
                }
            }
            if (stream.Position != position)
            {
                throw new ProtocolBufferException("Read past max limit");
            }
            return(instance);
        }