public override void Read(BinaryReader file, uint size)
        {
            base.Read(file, size);

            var startpos = file.BaseStream.Position;

            var bytecount = file.ReadUInt32();

            // read classes
            var count = file.ReadBit6();

            for (int i = 0; i < count; i++)
            {
                var ClassName = new CName(cr2w, null, "");
                ClassName.Read(file, 2);

                var parsedvar = CR2WTypeManager.Create(ClassName.Value, "", cr2w, Data);
                parsedvar.Read(file, size);


                Data.AddVariable(parsedvar);
            }


            //check
            var endpos    = file.BaseStream.Position;
            var bytesread = endpos - startpos;

            if (bytesread != bytecount)
            {
                throw new InvalidParsingException($"Error in parsing SAppearanceAttachment: Data Variable. {bytesread} bytes read out of {bytecount}.");
            }
        }
Exemple #2
0
        public override void Read(BinaryReader file, uint size)
        {
            var pos   = file.BaseStream.Position;
            var count = file.ReadBit6();

            for (var i = 0; i < count; i++)
            {
                var var = new CName(cr2w, tags, i.ToString());
                var.Read(file, 0);
                AddVariable(var);
            }
        }
 public override void Read(BinaryReader file, uint size)
 {
     handlename.Read(file, 2);
     handle.Read(file, 2);
 }