"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.onAfterBuildPublic = exports.onAfterCompressSettingsPublic = exports.onBeforeCompressSettingsPublic = exports.onBeforeBuildPublic = void 0; const fs_1 = require("fs"); const path_1 = require("path"); const fixFiles_1 = require("./fixFiles"); const public_1 = require("./public"); let oldDiffFile; /**构建开始之前调用 */ const onBeforeBuildPublic = async function (options, result) { console.log('更新json、后端共享脚本'); const state = await Editor.Message.request('update_res', 'updates', 'json', 'shared'); console.log('更新结果:', state); console.log('检测图片是否设置纹理压缩格式'); await (0, public_1.setTextureCompress)(); if (options.diffScript && (0, fs_1.existsSync)((0, path_1.join)(Editor.Project.path, 'assets/diff/' + options.diffScript))) { oldDiffFile = (0, fs_1.readFileSync)((0, path_1.join)(Editor.Project.path, 'assets/diff/diff.ts')); (0, fs_1.writeFileSync)((0, path_1.join)(Editor.Project.path, 'assets/diff/diff.ts'), (0, fs_1.readFileSync)((0, path_1.join)(Editor.Project.path, 'assets/diff/' + options.diffScript))); } }; exports.onBeforeBuildPublic = onBeforeBuildPublic; /**开始压缩相关的 JSON 文件前调用 */ const onBeforeCompressSettingsPublic = async function (options, result) { }; exports.onBeforeCompressSettingsPublic = onBeforeCompressSettingsPublic; /**压缩完设置文件后调用 */ const onAfterCompressSettingsPublic = async function (options, result) { }; exports.onAfterCompressSettingsPublic = onAfterCompressSettingsPublic; /**构建完成之后调用 */ const onAfterBuildPublic = async function (options, result) { if (options.macro) { let path = (0, path_1.join)(result.dest, 'src'); (0, fs_1.readdirSync)(path).forEach(file => { let splits = file.split('.'); if (splits[0] == 'settings' && splits[splits.length - 1] == 'json') { let json = JSON.parse((0, fs_1.readFileSync)((0, path_1.join)(path, file), 'utf-8')); Object.assign(json.engine.macros, options.macro); (0, fs_1.writeFileSync)((0, path_1.join)(path, file), JSON.stringify(json, null, 2)); } }); } console.log('检测是否有构建后的文件添加替换'); await (0, fixFiles_1.fixFiles)(options, result); if (oldDiffFile) { (0, fs_1.writeFileSync)((0, path_1.join)(Editor.Project.path, 'assets/diff/diff.ts'), oldDiffFile); } }; exports.onAfterBuildPublic = onAfterBuildPublic;