Esempio n. 1
0
        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)
                    {
                    }
                }
            });
        }