"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const fs_extra_1 = require("fs-extra"); const path_1 = require("path"); const vue_1 = require("vue"); const preview_1 = __importDefault(require("../default/methods/preview")); /** * 独立预览面板:完全复用 default 的 preview.ts 渲染逻辑(视口/外壳/缩放/静音一致)。 * 游戏 DOM 构建到顶层 document 的 #yyka-game-host;default 与预览面板各自独立引擎。 */ const rootComponent = (0, vue_1.defineComponent)({ data() { return { // —— 面板级占位(preview.ts 方法依赖的非预览字段)—— treeWidth: 260, detailWidth: 340, showPerf: false, drag: null, logs: [], previewUrl: 'http://localhost:7456/', previewLoaded: false, previewRenderErr: '', previewOnline: null, previewChecking: false, previewCheckAt: 0, previewDevice: 'Default', previewRotated: false, previewFps: 60, previewShowFps: false, previewPaused: false, previewMuted: false, previewZoom: 1, showPreview: true, _renderSeq: 0, _hostSyncTimer: 0, _hostObserved: false, _docZoomBound: false, _previewCheckTimer: 0, _consoleDedup: new Map(), }; }, methods: Object.assign({}, preview_1.default), mounted() { // 必须先安装音频 hook(在引擎脚本加载前),静音才能覆盖所有播放路径 try { this._hookAudioCtx(); } catch (_) { /* ignore */ } this.initPreviewInfo().then(() => this.renderPreview()); this._checkTimer = window.setInterval(() => this.checkPreview(), 3000); }, beforeUnmount() { if (this._checkTimer) window.clearInterval(this._checkTimer); this.stopHostSync(); this.teardownPreview(); try { const host = document.getElementById('yyka-game-host'); if (host) host.remove(); } catch (_) { /* ignore */ } try { document.querySelectorAll('.preview-panel-root').forEach((el) => el.remove()); } catch (_) { /* ignore */ } }, template: (0, fs_extra_1.readFileSync)((0, path_1.join)(__dirname, '../../../static/template/preview/index.html'), 'utf-8'), }); const panelDataMap = new WeakMap(); module.exports = Editor.Panel.define({ listeners: {}, template: (0, fs_extra_1.readFileSync)((0, path_1.join)(__dirname, '../../../static/template/preview/wrapper.html'), 'utf-8'), style: (0, fs_extra_1.readFileSync)((0, path_1.join)(__dirname, '../../../static/style/preview/index.css'), 'utf-8'), $: { app: '#app', }, methods: {}, ready() { if (this.$.app) { const app = (0, vue_1.createApp)(rootComponent); app.config.compilerOptions.isCustomElement = (tag) => tag.startsWith('ui-'); app.mount(this.$.app); panelDataMap.set(this, app); } }, beforeClose() { }, close() { const app = panelDataMap.get(this); if (app) { app.unmount(); } }, }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zb3VyY2UvcGFuZWxzL3ByZXZpZXcvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx1Q0FBd0M7QUFDeEMsK0JBQTRCO0FBQzVCLDZCQUFzRDtBQUV0RCx5RUFBd0Q7QUFFeEQ7OztHQUdHO0FBRUgsTUFBTSxhQUFhLEdBQUcsSUFBQSxxQkFBZSxFQUFDO0lBQ2xDLElBQUk7UUFDQSxPQUFPO1lBQ0gsb0NBQW9DO1lBQ3BDLFNBQVMsRUFBRSxHQUFHO1lBQ2QsV0FBVyxFQUFFLEdBQUc7WUFDaEIsUUFBUSxFQUFFLEtBQUs7WUFDZixJQUFJLEVBQUUsSUFBVztZQUNqQixJQUFJLEVBQUUsRUFBVztZQUNqQixVQUFVLEVBQUUsd0JBQXdCO1lBQ3BDLGFBQWEsRUFBRSxLQUFLO1lBQ3BCLGdCQUFnQixFQUFFLEVBQUU7WUFDcEIsYUFBYSxFQUFFLElBQXNCO1lBQ3JDLGVBQWUsRUFBRSxLQUFLO1lBQ3RCLGNBQWMsRUFBRSxDQUFDO1lBQ2pCLGFBQWEsRUFBRSxTQUFTO1lBQ3hCLGNBQWMsRUFBRSxLQUFLO1lBQ3JCLFVBQVUsRUFBRSxFQUFFO1lBQ2QsY0FBYyxFQUFFLEtBQUs7WUFDckIsYUFBYSxFQUFFLEtBQUs7WUFDcEIsWUFBWSxFQUFFLEtBQUs7WUFDbkIsV0FBVyxFQUFFLENBQUM7WUFDZCxXQUFXLEVBQUUsSUFBSTtZQUNqQixVQUFVLEVBQUUsQ0FBQztZQUNiLGNBQWMsRUFBRSxDQUFDO1lBQ2pCLGFBQWEsRUFBRSxLQUFLO1lBQ3BCLGFBQWEsRUFBRSxLQUFLO1lBQ3BCLGtCQUFrQixFQUFFLENBQUM7WUFDckIsYUFBYSxFQUFFLElBQUksR0FBRyxFQUFFO1NBQzNCLENBQUM7SUFDTixDQUFDO0lBQ0QsT0FBTyxvQkFDQSxpQkFBYyxDQUNwQjtJQUNELE9BQU87UUFDSCxzQ0FBc0M7UUFDdEMsSUFBSSxDQUFDO1lBQUMsSUFBSSxDQUFD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ZnMtZXh0cmEnO1xuaW1wb3J0IHsgam9pbiB9IGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgY3JlYXRlQXBwLCBBcHAsIGRlZmluZUNvbXBvbmVudCB9IGZyb20gJ3Z1ZSc7XG5cbmltcG9ydCBwcmV2aWV3TWV0aG9kcyBmcm9tICcuLi9kZWZhdWx0L21ldGhvZHMvcHJldmlldyc7XG5cbi8qKlxuICog54us56uL6aKE6KeI6Z2i5p2/77ya5a6M5YWo5aSN55SoIGRlZmF1bHQg55qEIHByZXZpZXcudHMg5riy5p+T6YC76L6R77yI6KeG5Y+jL+WkluWjsy/nvKnmlL4v6Z2Z6Z+z5LiA6Ie077yJ44CCXG4gKiDmuLjmiI8gRE9NIOaehOW7uuWIsOmhtuWxgiBkb2N1bWVudCDnmoQgI3l5a2EtZ2FtZS1ob3N077ybZGVmYXVsdCDkuI7pooTop4jpnaLmnb/lkIToh6rni6znq4vlvJXmk47jgIJcbiAqL1xuXG5jb25zdCByb290Q29tcG9uZW50ID0gZGVmaW5lQ29tcG9uZW50KHtcbiAgICBkYXRhKCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLy8g4oCU4oCUIOmdouadv+e6p+WNoOS9je+8iHByZXZpZXcudHMg5pa55rOV5L6d6LWW55qE6Z2e6aKE6KeI5a2X5q6177yJ4oCU4oCUXG4gICAgICAgICAgICB0cmVlV2lkdGg6IDI2MCxcbiAgICAgICAgICAgIGRldGFpbFdpZHRoOiAzNDAsXG4gICAgICAgICAgICBzaG93UGVyZjogZmFsc2UsXG4gICAgICAgICAgICBkcmFnOiBudWxsIGFzIGFueSxcbiAgICAgICAgICAgIGxvZ3M6IFtdIGFzIGFueVtdLFxuICAgICAgICAgICAgcHJldmlld1VybDogJ2h0dHA6Ly9sb2NhbGhvc3Q6NzQ1Ni8nLFxuICAgICAgICAgICAgcHJldmlld0xvYWRlZDogZmFsc2UsXG4gICAgICAgICAgICBwcmV2aWV3UmVuZGVyRXJyOiAnJyxcbiAgICAgICAgICAgIHByZXZpZXdPbmxpbmU6IG51bGwgYXMgYm9vbGVhbiB8IG51bGwsXG4gICAgICAgICAgICBwcmV2aWV3Q2hlY2tpbmc6IGZhbHNlLFxuICAgICAgICAgICAgcHJldmlld0NoZWNrQXQ6IDAsXG4gICAgICAgICAgICBwcmV2aWV3RGV2aWNlOiAnRGVmYXVsdCcsXG4gICAgICAgICAgICBwcmV2aWV3Um90YXRlZDogZmFsc2UsXG4gICAgICAgICAgICBwcmV2aWV3RnBzOiA2MCxcbiAgICAgICAgICAgIHByZXZpZXdTaG93RnBzOiBmYWxzZSxcbiAgICAgICAgICAgIHByZXZpZXdQYXVzZWQ6IGZhbHNlLFxuICAgICAgICAgICAgcHJldmlld011dGVkOiBmYWxzZSxcbiAgICAgICAgICAgIHByZXZpZXdab29tOiAxLFxuICAgICAgICAgICAgc2hvd1ByZXZpZXc6IHRydWUsXG4gICAgICAgICAgICBfcmVuZGVyU2VxOiAwLFxuICAgICAgICAgICAgX2hvc3RTeW5jVGltZXI6IDAsXG4gICAgICAgICAgICBfaG9zdE9ic2VydmVkOiBmYWxzZSxcbiAgICAgICAgICAgIF9kb2Nab29tQm91bmQ6IGZhbHNlLFxuICAgICAgICAgICAgX3ByZXZpZXdDaGVja1RpbWVyOiAwLFxuICAgICAgICAgICAgX2NvbnNvbGVEZWR1cDogbmV3IE1hcCgpLFxuICAgICAgICB9O1xuICAgIH0sXG4gICAgbWV0aG9kczoge1xuICAgICAgICAuLi5wcmV2aWV3TWV0aG9kcyxcbiAgICB9LFxuICAgIG1vdW50ZWQodGhpczogYW55KSB7XG4gICAgICAgIC8vIOW/hemhu+WFiOWuieijhemfs+mikSBob29r77yI5Zyo5byV5pOO6ISa5pys5Yqg6L295YmN77yJ77yM6Z2Z6Z+z5omN6IO96KaG55uW5omA5pyJ5pKt5pS+6Lev5b6EXG4gICAgICAgIHRyeSB7IHRoaXMuX2hvb2tBdWRpb0N0eCgpOyB9IGNhdGNoIChfKSB7IC8qIGlnbm9yZSAqLyB9XG4gICAgICAgIHRoaXMuaW5pdFByZXZpZXdJbmZvKCkudGhlbigoKSA9PiB0aGlzLnJlbmRlclByZXZpZXcoKSk7XG4gICAgICAgIHRoaXMuX2NoZWNrVGltZXIgPSB3aW5kb3cuc2V0SW50ZXJ2YWwoKCkgPT4gdGhpcy5jaGVja1ByZXZpZXcoKSwgMzAwMCk7XG4gICAgfSxcbiAgICBiZWZvcmVVbm1vdW50KHRoaXM6IGFueSkge1xuICAgICAgICBpZiAodGhpcy5fY2hlY2tUaW1lcikgd2luZG93LmNsZWFySW50ZXJ2YWwodGhpcy5fY2hlY2tUaW1lcik7XG4gICAgICAgIHRoaXMuc3RvcEhvc3RTeW5jKCk7XG4gICAgICAgIHRoaXMudGVhcmRvd25QcmV2aWV3KCk7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBob3N0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3l5a2EtZ2FtZS1ob3N0Jyk7XG4gICAgICAgICAgICBpZiAoaG9zdCkgaG9zdC5yZW1vdmUoKTtcbiAgICAgICAgfSBjYXRjaCAoXykgeyAvKiBpZ25vcmUgKi8gfVxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLnByZXZpZXctcGFuZWwtcm9vdCcpLmZvckVhY2goKGVsKSA9PiBlbC5yZW1vdmUoKSk7XG4gICAgICAgIH0gY2F0Y2ggKF8pIHsgLyogaWdub3JlICovIH1cbiAgICB9LFxuICAgIHRlbXBsYXRlOiByZWFkRmlsZVN5bmMoam9pbihfX2Rpcm5hbWUsICcuLi8uLi8uLi9zdGF0aWMvdGVtcGxhdGUvcHJldmlldy9pbmRleC5odG1sJyksICd1dGYtOCcpLFxufSk7XG5cbmNvbnN0IHBhbmVsRGF0YU1hcCA9IG5ldyBXZWFrTWFwPGFueSwgQXBwPigpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IEVkaXRvci5QYW5lbC5kZWZpbmUoe1xuICAgIGxpc3RlbmVyczoge30sXG4gICAgdGVtcGxhdGU6IHJlYWRGaWxlU3luYyhqb2luKF9fZGlybmFtZSwgJy4uLy4uLy4uL3N0YXRpYy90ZW1wbGF0ZS9wcmV2aWV3L3dyYXBwZXIuaHRtbCcpLCAndXRmLTgnKSxcbiAgICBzdHlsZTogcmVhZEZpbGVTeW5jKGpvaW4oX19kaXJuYW1lLCAnLi4vLi4vLi4vc3RhdGljL3N0eWxlL3ByZXZpZXcvaW5kZXguY3NzJyksICd1dGYtOCcpLFxuICAgICQ6IHtcbiAgICAgICAgYXBwOiAnI2FwcCcsXG4gICAgfSxcbiAgICBtZXRob2RzOiB7fSxcbiAgICByZWFkeSgpIHtcbiAgICAgICAgaWYgKHRoaXMuJC5hcHApIHtcbiAgICAgICAgICAgIGNvbnN0IGFwcCA9IGNyZWF0ZUFwcChyb290Q29tcG9uZW50KTtcbiAgICAgICAgICAgIGFwcC5jb25maWcuY29tcGlsZXJPcHRpb25zLmlzQ3VzdG9tRWxlbWVudCA9ICh0YWc6IHN0cmluZykgPT4gdGFnLnN0YXJ0c1dpdGgoJ3VpLScpO1xuICAgICAgICAgICAgYXBwLm1vdW50KHRoaXMuJC5hcHApO1xuICAgICAgICAgICAgcGFuZWxEYXRhTWFwLnNldCh0aGlzLCBhcHApO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBiZWZvcmVDbG9zZSgpIHt9LFxuICAgIGNsb3NlKCkge1xuICAgICAgICBjb25zdCBhcHAgPSBwYW5lbERhdGFNYXAuZ2V0KHRoaXMpO1xuICAgICAgICBpZiAoYXBwKSB7XG4gICAgICAgICAgICBhcHAudW5tb3VudCgpO1xuICAgICAgICB9XG4gICAgfSxcbn0pOyJdfQ==