public static InvitationCollection Deserialize(Stream stream, InvitationCollection instance, long limit) { if (instance.ReceivedInvitation == null) { instance.ReceivedInvitation = new List <Invitation>(); } while (limit < 0L || stream.Position < limit) { int num = stream.ReadByte(); if (num == -1) { if (limit >= 0L) { throw new EndOfStreamException(); } return(instance); } else if (num != 8) { if (num != 16) { if (num != 24) { if (num != 34) { Key key = ProtocolParser.ReadKey((byte)num, stream); uint field = key.Field; if (field == 0u) { throw new ProtocolBufferException("Invalid field id: 0, something went wrong in the stream"); } ProtocolParser.SkipKey(stream, key); } else { instance.ReceivedInvitation.Add(Invitation.DeserializeLengthDelimited(stream)); } } else { instance.ObjectId = ProtocolParser.ReadUInt64(stream); } } else { instance.MaxReceivedInvitations = ProtocolParser.ReadUInt32(stream); } } else { instance.ServiceType = ProtocolParser.ReadUInt32(stream); } } if (stream.Position == limit) { return(instance); } throw new ProtocolBufferException("Read past max limit"); }
public static InvitationNotification Deserialize(Stream stream, InvitationNotification instance, long limit) { instance.Reason = 0u; while (limit < 0L || stream.Position < limit) { int num = stream.ReadByte(); if (num == -1) { if (limit >= 0L) { throw new EndOfStreamException(); } return(instance); } else if (num != 10) { if (num != 18) { if (num != 24) { Key key = ProtocolParser.ReadKey((byte)num, stream); uint field = key.Field; if (field == 0u) { throw new ProtocolBufferException("Invalid field id: 0, something went wrong in the stream"); } ProtocolParser.SkipKey(stream, key); } else { instance.Reason = ProtocolParser.ReadUInt32(stream); } } else if (instance.GameAccountId == null) { instance.GameAccountId = EntityId.DeserializeLengthDelimited(stream); } else { EntityId.DeserializeLengthDelimited(stream, instance.GameAccountId); } } else if (instance.Invitation == null) { instance.Invitation = Invitation.DeserializeLengthDelimited(stream); } else { Invitation.DeserializeLengthDelimited(stream, instance.Invitation); } } if (stream.Position == limit) { return(instance); } throw new ProtocolBufferException("Read past max limit"); }
public static SubscribeResponse Deserialize(Stream stream, SubscribeResponse instance, long limit) { if (instance.Collection == null) { instance.Collection = new List <InvitationCollection>(); } if (instance.ReceivedInvitation == null) { instance.ReceivedInvitation = new List <Invitation>(); } while (limit < 0L || stream.get_Position() < limit) { int num = stream.ReadByte(); if (num == -1) { if (limit >= 0L) { throw new EndOfStreamException(); } return(instance); } else { int num2 = num; if (num2 != 10) { if (num2 != 18) { Key key = ProtocolParser.ReadKey((byte)num, stream); uint field = key.Field; if (field == 0u) { throw new ProtocolBufferException("Invalid field id: 0, something went wrong in the stream"); } ProtocolParser.SkipKey(stream, key); } else { instance.ReceivedInvitation.Add(Invitation.DeserializeLengthDelimited(stream)); } } else { instance.Collection.Add(InvitationCollection.DeserializeLengthDelimited(stream)); } } } if (stream.get_Position() == limit) { return(instance); } throw new ProtocolBufferException("Read past max limit"); }
public static SubscribeToFriendsResponse Deserialize(Stream stream, SubscribeToFriendsResponse instance, long limit) { if (instance.Role == null) { instance.Role = new List <bnet.protocol.Role>(); } if (instance.Friends == null) { instance.Friends = new List <Friend>(); } if (instance.SentInvitations == null) { instance.SentInvitations = new List <Invitation>(); } if (instance.ReceivedInvitations == null) { instance.ReceivedInvitations = new List <Invitation>(); } while (true) { if (limit < (long)0 || stream.Position < limit) { int num = stream.ReadByte(); if (num == -1) { if (limit >= (long)0) { throw new EndOfStreamException(); } break; } else if (num == 8) { instance.MaxFriends = ProtocolParser.ReadUInt32(stream); } else if (num == 16) { instance.MaxReceivedInvitations = ProtocolParser.ReadUInt32(stream); } else if (num == 24) { instance.MaxSentInvitations = ProtocolParser.ReadUInt32(stream); } else if (num == 34) { instance.Role.Add(bnet.protocol.Role.DeserializeLengthDelimited(stream)); } else if (num == 42) { instance.Friends.Add(Friend.DeserializeLengthDelimited(stream)); } else if (num == 50) { instance.SentInvitations.Add(Invitation.DeserializeLengthDelimited(stream)); } else if (num == 58) { instance.ReceivedInvitations.Add(Invitation.DeserializeLengthDelimited(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); } } else { if (stream.Position != limit) { throw new ProtocolBufferException("Read past max limit"); } break; } } return(instance); }