'use strict'; const buildStart = require('./core/build-start'); const beforeBuildFinish = require('./core/before-build-finish'); const buildFinished = require('./core/build-finished'); const setting = require('./core/build-setting'); function onBuildStart (options, callback) { buildStart.handle(options); callback(); } function onBeforeBuildFinish (options, callback) { beforeBuildFinish.handle(options); callback(); } function onBuildFinished (options, callback) { buildFinished.handle(options); callback(); } module.exports = { load () { // 侦听编译事件 Editor.Builder.on('build-start', onBuildStart); Editor.Builder.on('before-change-files', onBeforeBuildFinish); Editor.Builder.on('build-finished', onBuildFinished); // 加载编译配置 setting.getInstance().load(); // this.loadVersionConfig(1000); // 编写插件是打开 }, unload () { Editor.Builder.removeListener('build-start', onBuildStart); Editor.Builder.removeListener('before-change-files', onBeforeBuildFinish); Editor.Builder.removeListener('build-finished', onBuildFinished); }, loadVersionConfig (delay) { if (delay) { setTimeout(()=> { setting.getInstance().loadVersionConfig(); }, delay); } else { setting.getInstance().loadVersionConfig(); } }, // register your ipc messages here messages: { 'open' () { Editor.Panel.open('build-helper'); }, 'panel-saved-setting' (event, config) { Editor.log('编译配置已更新'); setting.getInstance().setConfig(config); }, 'scene:ready' (event) { this.loadVersionConfig(); }, 'asset-db:asset-changed' (event) { // 延时更新版本配置 this.loadVersionConfig(1000); } } };