public override void Deserialize(IDataReader reader)
        {
            base.Deserialize(reader);
            partyType = reader.ReadSByte();
            if (partyType < 0)
            {
                throw new Exception("Forbidden value on partyType = " + partyType + ", it doesn't respect the following condition : partyType < 0");
            }
            fromId = reader.ReadInt();
            if (fromId < 0)
            {
                throw new Exception("Forbidden value on fromId = " + fromId + ", it doesn't respect the following condition : fromId < 0");
            }
            fromName = reader.ReadUTF();
            leaderId = reader.ReadInt();
            if (leaderId < 0)
            {
                throw new Exception("Forbidden value on leaderId = " + leaderId + ", it doesn't respect the following condition : leaderId < 0");
            }
            var limit = reader.ReadUShort();

            members = new Types.PartyInvitationMemberInformations[limit];
            for (int i = 0; i < limit; i++)
            {
                members[i] = new Types.PartyInvitationMemberInformations();
                members[i].Deserialize(reader);
            }
            limit  = reader.ReadUShort();
            guests = new Types.PartyGuestInformations[limit];
            for (int i = 0; i < limit; i++)
            {
                guests[i] = new Types.PartyGuestInformations();
                guests[i].Deserialize(reader);
            }
        }
        public override void Deserialize(IDataReader reader)
        {
            partyId = reader.ReadInt();
            if (partyId < 0)
            {
                throw new Exception("Forbidden value on partyId = " + partyId + ", it doesn't respect the following condition : partyId < 0");
            }
            fromId = reader.ReadInt();
            if (fromId < 0)
            {
                throw new Exception("Forbidden value on fromId = " + fromId + ", it doesn't respect the following condition : fromId < 0");
            }
            fromName = reader.ReadUTF();
            leaderId = reader.ReadInt();
            if (leaderId < 0)
            {
                throw new Exception("Forbidden value on leaderId = " + leaderId + ", it doesn't respect the following condition : leaderId < 0");
            }
            var limit    = reader.ReadUShort();
            var members_ = new Types.PartyInvitationMemberInformations[limit];

            for (int i = 0; i < limit; i++)
            {
                members_[i] = Types.ProtocolTypeManager.GetInstance <Types.PartyInvitationMemberInformations>(reader.ReadShort());
                members_[i].Deserialize(reader);
            }
            members = members_;
        }
 public override void Deserialize(IDataReader reader)
 {
     base.Deserialize(reader);
     partyType = reader.ReadSByte();
     if (partyType < 0)
         throw new Exception("Forbidden value on partyType = " + partyType + ", it doesn't respect the following condition : partyType < 0");
     fromId = reader.ReadInt();
     if (fromId < 0)
         throw new Exception("Forbidden value on fromId = " + fromId + ", it doesn't respect the following condition : fromId < 0");
     fromName = reader.ReadUTF();
     leaderId = reader.ReadInt();
     if (leaderId < 0)
         throw new Exception("Forbidden value on leaderId = " + leaderId + ", it doesn't respect the following condition : leaderId < 0");
     var limit = reader.ReadUShort();
     members = new Types.PartyInvitationMemberInformations[limit];
     for (int i = 0; i < limit; i++)
     {
          members[i] = new Types.PartyInvitationMemberInformations();
          members[i].Deserialize(reader);
     }
     limit = reader.ReadUShort();
     guests = new Types.PartyGuestInformations[limit];
     for (int i = 0; i < limit; i++)
     {
          guests[i] = new Types.PartyGuestInformations();
          guests[i].Deserialize(reader);
     }
 }
        public override void Deserialize(IDataReader reader)
        {
            base.Deserialize(reader);
            partyType = reader.ReadSByte();
            partyName = reader.ReadUTF();
            fromId    = reader.ReadVarLong();
            if (fromId < 0 || fromId > 9007199254740990)
            {
                throw new Exception("Forbidden value on fromId = " + fromId + ", it doesn't respect the following condition : fromId < 0 || fromId > 9007199254740990");
            }
            fromName = reader.ReadUTF();
            leaderId = reader.ReadVarLong();
            if (leaderId < 0 || leaderId > 9007199254740990)
            {
                throw new Exception("Forbidden value on leaderId = " + leaderId + ", it doesn't respect the following condition : leaderId < 0 || leaderId > 9007199254740990");
            }
            var limit    = reader.ReadShort();
            var members_ = new Types.PartyInvitationMemberInformations[limit];

            for (int i = 0; i < limit; i++)
            {
                members_[i] = new Types.PartyInvitationMemberInformations();
                members_[i].Deserialize(reader);
            }
            members = members_;
            limit   = reader.ReadShort();
            var guests_ = new Types.PartyGuestInformations[limit];

            for (int i = 0; i < limit; i++)
            {
                guests_[i] = new Types.PartyGuestInformations();
                guests_[i].Deserialize(reader);
            }
            guests = guests_;
        }