You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

117 lines
17 KiB

2 weeks ago
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
// @ts-ignore
const package_json_1 = __importDefault(require("../../../../package.json"));
/** 服务生命周期:启停 / 状态轮询 / 日志拉取 / 脚本安装。 */
exports.default = {
/** 打开面板时自动确保 WS 服务在运行(插件重载后服务不会自己起来)。 */
async ensureServer() {
try {
const st = (await Editor.Message.request(package_json_1.default.name, 'get-server-state'));
if (!st || !st.running) {
await Editor.Message.request(package_json_1.default.name, 'start-server');
}
}
catch (_a) {
/* 忽略:稍后 refresh 会再次尝试 */
}
},
async refresh() {
var _a, _b, _c, _d, _e, _f;
const [state, logs] = await Promise.all([
Editor.Message.request(package_json_1.default.name, 'get-server-state'),
Editor.Message.request(package_json_1.default.name, 'query-log'),
]);
this.state = state;
this.checkPreview(); // 预览服务连通性探测(内部节流)
if (logs && logs.length) {
for (const item of logs) {
// 识别桥接脚本心跳,读取版本号(用于判断游戏侧是否在跑旧脚本)
const m = item && typeof item === 'object' ? item : null;
if (m && m.evt === 'ping') {
if (m.ver && this.bridgeVer !== m.ver) {
this.bridgeVer = m.ver;
this.logs.push(`[桥接] 游戏侧脚本版本 v${m.ver}`);
}
// 心跳里的场景名兜底:节点树尚未拉到/为空时先补上
if (m.scene && !this.tree.scene) {
this.tree.scene = m.scene;
}
continue;
}
if (m && m.evt === 'frame') {
continue; // 预览画面帧不进入日志
}
// 引擎内部告警噪音(空类型 getComponent),与桥接侧同规则过滤兜底
const txt = m && typeof m.text === 'string' ? m.text : '';
if (/getComponent: Type must be non-nil/.test(txt)) {
continue;
}
this.logs.push(item);
}
this.logs = this.logs.slice(-200);
}
// 自动刷新节点树(与日志轮询间隔一致,但用 refreshingTree 防止重入)
if (this.state.clients === 0) {
this.tree.lastError = '游戏未连接,暂无节点树';
if (this.selectedId) {
this.selectedId = '';
this.inspector = null;
this.sendHighlight('');
}
}
else {
if (this.autoRefresh) {
this.refreshTree();
}
// 渲染统计(drawCall / 三角形 / fps)
try {
const s = (await Editor.Message.request(package_json_1.default.name, 'query-command', { cmd: 'get-stats' }));
if (s && typeof s === 'object') {
this.stats = {
drawCall: (_a = s.drawCall) !== null && _a !== void 0 ? _a : 0,
triangles: (_c = (_b = s.triangles) !== null && _b !== void 0 ? _b : s.triangle) !== null && _c !== void 0 ? _c : 0,
fps: (_d = s.fps) !== null && _d !== void 0 ? _d : 0,
memUsed: (_e = s.memUsed) !== null && _e !== void 0 ? _e : 0,
memTotal: (_f = s.memTotal) !== null && _f !== void 0 ? _f : 0,
};
}
}
catch (_g) {
/* 忽略统计失败 */
}
// 物理调试信息(开关状态 + 刚体/碰撞体数量)
try {
const ph = (await Editor.Message.request(package_json_1.default.name, 'query-command', { cmd: 'query-physics' }));
if (ph && typeof ph === 'object') {
this.physicsInfo = ph;
this.physicsDebug = !!ph.debugDrawFlags;
}
}
catch (_h) {
/* 忽略物理查询失败 */
}
}
},
async onToggleServer() {
if (this.state.running) {
await Editor.Message.request(package_json_1.default.name, 'stop-server');
}
else {
await Editor.Message.request(package_json_1.default.name, 'start-server');
}
await this.refresh();
},
async onInstallBridge() {
var _a;
const res = await Editor.Message.request(package_json_1.default.name, 'install-bridge');
const line = (res === null || res === void 0 ? void 0 : res.ok)
? `[安装] 已安装到 ${res.path}${res.overwrote ? '(已覆盖原有文件)' : ''}(令牌固定 www.yyka.cn)`
: `[安装] 失败: ${(_a = res === null || res === void 0 ? void 0 : res.msg) !== null && _a !== void 0 ? _a : '未知错误'}`;
this.logs.push(line);
},
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc291cmNlL3BhbmVscy9kZWZhdWx0L21ldGhvZHMvc2VydmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsYUFBYTtBQUNiLDRFQUFtRDtBQUduRCxzQ0FBc0M7QUFDdEMsa0JBQWU7SUFDWCx5Q0FBeUM7SUFDekMsS0FBSyxDQUFDLFlBQVk7UUFDZCxJQUFJLENBQUM7WUFDRCxNQUFNLEVBQUUsR0FBRyxDQUFDLE1BQU0sTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsc0JBQVcsQ0FBQyxJQUFXLEVBQUUsa0JBQXlCLENBQUMsQ0FBdUIsQ0FBQztZQUNwSCxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNyQixNQUFNLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLHNCQUFXLENBQUMsSUFBVyxFQUFFLGNBQXFCLENBQUMsQ0FBQztZQUNqRixDQUFDO1FBQ0wsQ0FBQztRQUFDLFdBQU0sQ0FBQztZQUNMLHlCQUF5QjtRQUM3QixDQUFDO0lBQ0wsQ0FBQztJQUNELEtBQUssQ0FBQyxPQUFPOztRQUNULE1BQU0sQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDO1lBQ3BDLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLHNCQUFXLENBQUMsSUFBVyxFQUFFLGtCQUF5QixDQUF5QjtZQUNsRyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxzQkFBVyxDQUFDLElBQVcsRUFBRSxXQUFrQixDQUF1QjtTQUM1RixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxrQkFBa0I7UUFDdkMsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3RCLEtBQUssTUFBTSxJQUFJLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQ3RCLGlDQUFpQztnQkFDakMsTUFBTSxDQUFDLEdBQUcsSUFBSSxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUUsSUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7Z0JBQ2xFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEtBQUssTUFBTSxFQUFFLENBQUM7b0JBQ3hCLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQzt3QkFDcEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDO3dCQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7b0JBQzdDLENBQUM7b0JBQ0QsMkJBQTJCO29CQUMzQixJQUFJLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO3dCQUM5QixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDO29CQUM5QixDQUFDO29CQUNELFNBQVM7Z0JBQ2IsQ0FBQztnQkFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxLQUFLLE9BQU8sRUFBRSxDQUFDO29CQUN6QixTQUFTLENBQUMsYUFBYTtnQkFDM0IsQ0FBQztnQkFDRCx5Q0FBeUM7Z0JBQ3pDLE1BQU0sR0FBRyxHQUFHLENBQUMsSUFBSSxPQUFPLENBQUMsQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQzFELElBQUksb0NBQW9DLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7b0JBQ2pELFNBQVM7Z0JBQ2IsQ0FBQztnQkFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN6QixDQUFDO1lBQ0QsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3RDLENBQUM7UUFDRCw0Q0FBNEM7UUFDNUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxhQUFhLENBQUM7WUFDcEMsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQ2xCLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO2dCQUNyQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztnQkFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUMzQixDQUFDO1FBQ0wsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDbkIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3ZCLENBQUM7WUFDRCw2QkFBNkI7WUFDN0IsSUFBSSxDQUFDO2dCQUNELE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FDbkMsc0JBQVcsQ0FBQyxJQUFXLEVBQ3ZCLGVBQXNCLEVBQ3RCLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBUyxDQUM5QixDQUFRLENBQUM7Z0JBQ1YsSUFBSSxDQUFDLElBQUksT0FBTyxDQUFDLEtBQUssUUFBUSxFQUFFLENBQUM7b0JBQzdCLElBQUksQ0FBQyxLQUFLLEdBQUc7d0JBQ1QsUUFBUSxFQUFFLE1BQUEsQ0FBQyxDQUFDLFFBQVEsbUNBQUksQ0FBQzt3QkFDekIsU0FBUyxFQUFFLE1BQUEsTUFBQSxDQUFDLENBQUMsU0FBUyxtQ0FBSSxDQUFDLENBQUMsUUFBUSxtQ0FBSSxDQUFDO3dCQUN6QyxHQUFHLEVBQUUsTUFBQSxDQUFDLENBQUMsR0FBRyxtQ0FBSSxDQUFDO3dCQUNmLE9BQU8sRUFBRSxNQUFBLENBQUMsQ0FBQyxPQUFPLG1DQUFJLENBQUM7d0JBQ3ZCLFFBQVEsRUFBRSxNQUFBLENBQUMsQ0FBQyxRQUFRLG1DQUFJLENBQUM7cUJBQzVCLENBQUM7Z0JBQ04sQ0FBQztZQUNMLENBQUM7WUFBQyxXQUFNLENBQUM7Z0JBQ0wsWUFBWTtZQUNoQixDQUFDO1lBQ0QsMEJBQTBCO1lBQzFCLElBQUksQ0FBQztnQkFDRCxNQUFNLEVBQUUsR0FBRyxDQUFDLE1BQU0sTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQ3BDLHNCQUFXLENBQUMsSUFBVyxFQUN2QixlQUFzQixFQUN0QixFQUFFLEdBQ