"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.setTextureCompress = void 0; const fs_1 = require("fs"); const path_1 = require("path"); const maxNum = 200; const rgb = 'e1XaJRnl5Lz5c/u8AuDO6Q'; const rgba = 'e6sm5y64VBR6/bYxQLg7Ja'; function checkIsTexture(asset) { if (asset.name.indexOf('.png') != -1 || asset.name.indexOf('.jpg') != -1 || asset.name.indexOf('.pac') != -1) return true; return false; } async function setTextureCompress() { let files = []; let loopDir = (dir) => { let f = (0, fs_1.readdirSync)(dir); f.forEach((_f) => { let fp = (0, path_1.join)(dir, _f); if ((0, fs_1.statSync)(fp).isDirectory()) loopDir(fp); else if (checkIsTexture({ name: fp }) && fp.indexOf('.meta') != -1) files.push(fp); }); }; loopDir((0, path_1.join)(Editor.Project.path, 'assets/resources')); return new Promise(resolve => { let handle = () => { if (files.length < 1) return resolve(true); let arr = files.filter((v, i) => i < maxNum); files.splice(0, arr.length); arr.forEach(async (filePath) => { let uuid = JSON.parse((0, fs_1.readFileSync)(filePath).toString()).uuid; let metaInfo = await Editor.Message.request('asset-db', 'query-asset-meta', uuid); if (metaInfo) { let setNum = 0; let presetId = filePath.indexOf('jpg') != -1 ? rgb : rgba; if (!metaInfo.userData.compressSettings) { setNum++; metaInfo.userData.compressSettings = {}; } if (!metaInfo.userData.compressSettings.useCompressTexture) { setNum++; metaInfo.userData.compressSettings.useCompressTexture = true; } if (metaInfo.userData.compressSettings.presetId != presetId) { setNum++; metaInfo.userData.compressSettings.presetId = presetId; } if (setNum > 0) { console.log('设置纹理压缩 ----> ' + filePath + ' ----> ' + presetId); await Editor.Message.request('asset-db', 'save-asset-meta', uuid, JSON.stringify(metaInfo)); } } }); handle(); }; handle(); }); } exports.setTextureCompress = setTextureCompress;