static bool SafeLoadSwfAsset(string swf_path, string swf_hash, SwfAsset swf_asset) { try { _progressBar.UpdateTitle(Path.GetFileName(swf_path)); var new_data = LoadSwfAssetData(swf_path); swf_asset.Data = SwfEditorUtils.CompressAsset(new_data, progress => { _progressBar.UpdateProgress("swf asset compression", progress); }); swf_asset.Hash = swf_hash; if (swf_asset.Atlas) { AssetDatabase.DeleteAsset( AssetDatabase.GetAssetPath(swf_asset.Atlas)); swf_asset.Atlas = null; } EditorUtility.SetDirty(swf_asset); return(true); } catch (Exception e) { Debug.LogErrorFormat( AssetDatabase.LoadMainAssetAtPath(swf_path), "<b>[FlashTools]</b> Parsing swf error: {0}\nSwf path: {1}", e.Message, swf_path); return(false); } finally { _progressBar.HideProgress(); } }
static void SwfAssetProcess(SwfAsset asset) { try { EditorUtility.SetDirty(asset); var asset_data = SwfEditorUtils.DecompressAsset <SwfAssetData>(asset.Data, progress => { _progressBar.UpdateProgress("decompress swf asset", progress); }); asset.Atlas = LoadAssetAtlas(asset); if (asset.Atlas) { ConfigureAtlas(asset); ConfigureClips(asset, asset_data); } else { _progressBar.UpdateTitle(asset.name); var new_data = ConfigureBitmaps(asset, asset_data); asset.Data = SwfEditorUtils.CompressAsset(new_data, progress => { _progressBar.UpdateProgress("compress swf asset", progress); }); } } catch (Exception e) { Debug.LogErrorFormat( asset, "<b>[FlashTools]</b> Postprocess swf asset error: {0}\nPath: {1}", e.Message, AssetDatabase.GetAssetPath(asset)); AssetDatabase.DeleteAsset(AssetDatabase.GetAssetPath(asset)); } finally { if (asset) { UpdateAssetClips(asset); } _progressBar.HideProgress(); } }