public static PrivacyInfo DeserializeLengthDelimited(Stream stream) { PrivacyInfo privacyInfo = new PrivacyInfo(); PrivacyInfo.DeserializeLengthDelimited(stream, privacyInfo); return(privacyInfo); }
public static AccountState Deserialize(Stream stream, AccountState instance, long limit) { if (instance.GameLevelInfo == null) { instance.GameLevelInfo = new List <GameLevelInfo>(); } if (instance.GameStatus == null) { instance.GameStatus = new List <GameStatus>(); } if (instance.GameAccounts == null) { instance.GameAccounts = new List <GameAccountList>(); } 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) { if (num2 != 26) { if (num2 != 42) { if (num2 != 50) { if (num2 != 58) { 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.GameAccounts.Add(GameAccountList.DeserializeLengthDelimited(stream)); } } else { instance.GameStatus.Add(bnet.protocol.account.GameStatus.DeserializeLengthDelimited(stream)); } } else { instance.GameLevelInfo.Add(bnet.protocol.account.GameLevelInfo.DeserializeLengthDelimited(stream)); } } else if (instance.ParentalControlInfo == null) { instance.ParentalControlInfo = ParentalControlInfo.DeserializeLengthDelimited(stream); } else { ParentalControlInfo.DeserializeLengthDelimited(stream, instance.ParentalControlInfo); } } else if (instance.PrivacyInfo == null) { instance.PrivacyInfo = PrivacyInfo.DeserializeLengthDelimited(stream); } else { PrivacyInfo.DeserializeLengthDelimited(stream, instance.PrivacyInfo); } } else if (instance.AccountLevelInfo == null) { instance.AccountLevelInfo = AccountLevelInfo.DeserializeLengthDelimited(stream); } else { AccountLevelInfo.DeserializeLengthDelimited(stream, instance.AccountLevelInfo); } } } if (stream.get_Position() == limit) { return(instance); } throw new ProtocolBufferException("Read past max limit"); }