HJ_Client/extensions/my_builder/dist/public.js
DESKTOP-15R5JU0\legu 62fef0360c init
2023-11-17 14:13:11 +08:00

63 lines
2.6 KiB
JavaScript

"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;