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); }
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()); }