static SwfAssetData LoadSwfAssetData(string swf_path) { var library = new SwfLibrary(); var decoder = new SwfDecoder(swf_path, progress => { _progressBar.UpdateProgress("swf decoding", progress); }); return(new SwfAssetData { FrameRate = decoder.UncompressedHeader.FrameRate, Symbols = LoadSymbols(swf_path, library, decoder), Bitmaps = LoadBitmaps(library) }); }
// --------------------------------------------------------------------- // // LoadSymbols // // --------------------------------------------------------------------- static List <SwfSymbolData> LoadSymbols( string swf_path, SwfLibrary library, SwfDecoder decoder) { var symbols = new List <SwfSymbolData>(); symbols.Add(LoadSymbol(swf_path, "_Stage_", library, decoder.Tags)); var sprite_defs = library.Defines.Values .OfType <SwfLibrarySpriteDefine>() .Where(p => !string.IsNullOrEmpty(p.ExportName)) .ToList(); for (var i = 0; i < sprite_defs.Count; ++i) { var def = sprite_defs[i]; var name = def.ExportName; var tags = def.ControlTags.Tags; symbols.Add(LoadSymbol(swf_path, name, library, tags)); } return(symbols); }