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