public static void ExtratAssetsFile(string fileName, ushort type = 28) { var dir = Path.GetDirectoryName(fileName); var assetsFileName = Path.GetFileNameWithoutExtension(fileName); var assetsFile = new AssetsFile(fileName); assetsFile.LoadExportableAssets(); foreach (var asset in assetsFile.exportableAssets) { if (!Directory.Exists(Path.Combine(dir, assetsFileName))) { Directory.CreateDirectory(Path.Combine(dir, assetsFileName)); } try { if (asset.Type2 == type) { asset.Exportable.Export(Path.Combine(dir, assetsFileName, asset.ExportName)); } if (asset.extension == ".pvr") { PvrToPng(Path.Combine(dir, assetsFileName, asset.ExportName)); File.Delete(Path.Combine(dir, assetsFileName, asset.ExportName)); } } catch (Exception) { } } assetsFile.exportableAssets.Where(a => a.Type2 == 28 && assetsFile.exportableAssets.Any(b => b.Name == a.Name + "a")).ToList().ForEach(asset => { if (asset.extension == ".pvr") { try { TransToAlphaImage(Path.Combine(dir, assetsFileName, asset.Name + ".png")); File.Delete(Path.Combine(dir, assetsFileName, asset.Name + "a.png")); } catch (Exception) { } } }); }