public static PlayerTeam DeserializeLengthDelimited(Stream stream) { PlayerTeam playerTeam = Pool.Get <PlayerTeam>(); PlayerTeam.DeserializeLengthDelimited(stream, playerTeam, false); return(playerTeam); }
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); }