Beispiel #1
0
        internal Tag ReadTag()
        {
            long posBefore = SWFBinary.BaseStream.Position;
            RecordHeader rh = new RecordHeader();
            rh.ReadData(SWFBinary);

            int offset = (int)(SWFBinary.BaseStream.Position - posBefore);
            SWFBinary.BaseStream.Position = posBefore;

            Tag resTag = null;

            switch (rh.TagCode)
            {
                case (int)TagCodes.DoABC: resTag = new DoABC(); break;
                case (int)TagCodes.End: resTag = new End(); break;
                default: resTag = new Tag(SWFBinary.ReadBytes(System.Convert.ToInt32(rh.TagLength + offset))); break;
            }

            resTag.ReadData(SWFVersion, SWFBinary);

            return resTag;
        }
Beispiel #2
0
 internal bytecodeEnumerator(Tag tag)
 {
     this.tag = tag;
     index    = -1;
 }
Beispiel #3
0
 internal BytecodeHolder(Tag t)
 {
     tag = t;
 }
Beispiel #4
0
 internal BytecodeHolder(Tag t)
 {
     tag = t;
 }
Beispiel #5
0
 internal bytecodeEnumerator(Tag tag)
 {
     this.tag = tag;
     index = -1;
 }