Ejemplo n.º 1
0
 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();
     }
 }