public override void Deserialize(ICustomDataInput reader)
        {
            base.Deserialize(reader);
            Floor = reader.ReadVarInt();
            Room  = reader.ReadByte();
            var countBranches = reader.ReadShort();

            Branches = new List <BreachBranch>();
            for (short i = 0; i < countBranches; i++)
            {
                BreachBranch type = new BreachBranch();
                type.Deserialize(reader);
                Branches.Add(type);
            }
        }
        public override void Deserialize(IDataReader reader)
        {
            base.Deserialize(reader);
            Floor = reader.ReadVarUhInt();
            Room  = reader.ReadSByte();
            var BranchesCount = reader.ReadShort();

            Branches = new List <BreachBranch>();
            for (var i = 0; i < BranchesCount; i++)
            {
                var objectToAdd = new BreachBranch();
                objectToAdd.Deserialize(reader);
                Branches.Add(objectToAdd);
            }
        }
        public override void Deserialize(IDataReader reader)
        {
            base.Deserialize(reader);
            this.floor = reader.ReadVarUhInt();
            if (this.floor < 0U)
            {
                throw new Exception("Forbidden value (" + (object)this.floor + ") on element of MapComplementaryInformationsBreachMessage.floor.");
            }
            this.room = (uint)reader.ReadByte();
            if (this.room < 0U)
            {
                throw new Exception("Forbidden value (" + (object)this.room + ") on element of MapComplementaryInformationsBreachMessage.room.");
            }
            uint num = (uint)reader.ReadUShort();

            for (int index = 0; (long)index < (long)num; ++index)
            {
                BreachBranch breachBranch = new BreachBranch();
                breachBranch.Deserialize(reader);
                this.branches.Add(breachBranch);
            }
        }