Esempio n. 1
0
        ActionBase IActionVisitor <ushort, ActionBase> .Visit(ActionWith action, ushort arg)
        {
            var codeSize = _reader.ReadUInt16();
            var pos      = _reader.Position;

            while ((_reader.Position - pos) < codeSize)
            {
                var subaction = ReadAction();
                action.Actions.Add(subaction);
            }

            return(action);
        }
Esempio n. 2
0
        object IActionVisitor <ISwfStreamWriter, object> .Visit(ActionWith action, ISwfStreamWriter writer)
        {
            var awmem = new MemoryStream();
            var aw    = new ActionWriter(new SwfStreamWriter(awmem));

            foreach (var subaction in action.Actions)
            {
                aw.WriteAction(subaction);
            }

            writer.WriteUInt16((ushort)awmem.Length);

            return(awmem.ToArray());
        }