public virtual void Deserialize(IDataReader reader)
 {
     restrictions = new Types.ActorRestrictionsInformations();
     restrictions.Deserialize(reader);
     sex = reader.ReadBoolean();
     var limit = reader.ReadUShort();
     options = new Types.HumanOption[limit];
     for (int i = 0; i < limit; i++)
     {
          options[i] = Types.ProtocolTypeManager.GetInstance<Types.HumanOption>(reader.ReadShort());
          options[i].Deserialize(reader);
     }
 }
 public override void Deserialize(BigEndianReader reader)
 {
     base.Deserialize(reader);
     sellType = reader.ReadSByte();
     if (sellType < 0)
         throw new Exception("Forbidden value on sellType = " + sellType + ", it doesn't respect the following condition : sellType < 0");
     var limit = reader.ReadUShort();
     options = new Types.HumanOption[limit];
     for (int i = 0; i < limit; i++)
     {
          options[i] = Types.ProtocolTypeManager.GetInstance<Types.HumanOption>(reader.ReadShort());
          options[i].Deserialize(reader);
     }
 }
 public GameRolePlayMerchantInformations(int contextualId, Types.EntityLook look, Types.EntityDispositionInformations disposition, string name, sbyte sellType, Types.HumanOption[] options)
     : base(contextualId, look, disposition, name)
 {
     this.sellType = sellType;
     this.options = options;
 }
 public HumanInformations(Types.ActorRestrictionsInformations restrictions, bool sex, Types.HumanOption[] options)
 {
     this.restrictions = restrictions;
     this.sex = sex;
     this.options = options;
 }