feat: 修复节点变换属性竞态问题,扩展完整属性支持,增强获取数据工具
- fix: 将 update-node-transform 中 scaleX/scaleY 从异步 IPC 改为直接赋值,修复设置不生效 - fix: 将 color 从异步 IPC 改为直接赋值 (node.color = new cc.Color().fromHEX(color)) - feat: update_node_transform 新增 rotation/anchorX/anchorY/opacity/skewX/skewY 参数 - feat: get_scene_hierarchy includeDetails 新增 rotation/anchor/color/opacity/skew/group 返回 - feat: callSceneScriptWithTimeout 对 panel not found 错误返回友好中文提示 - docs: 更新 UPDATE_LOG.md/注意事项.md/project-rules.md 反映所有修改
This commit is contained in:
19
src/main.js
19
src/main.js
@@ -89,7 +89,18 @@ function callSceneScriptWithTimeout(pluginName, method, args, callback, timeout
|
||||
if (!settled) {
|
||||
settled = true;
|
||||
clearTimeout(timer);
|
||||
callback(err, result);
|
||||
// 友好化处理 Scene 面板未就绪的错误(如插件重载、场景切换期间)
|
||||
if (err && typeof err === "object" && err.message && err.message.includes("panel not found")) {
|
||||
const friendlyMsg = `场景面板尚未就绪(可能正在重载插件或切换场景),请等待几秒后重试。原始信息: ${err.message}`;
|
||||
addLog("warn", `[scene-script] ${friendlyMsg}`);
|
||||
callback(friendlyMsg);
|
||||
} else if (err && typeof err === "string" && err.includes("panel not found")) {
|
||||
const friendlyMsg = `场景面板尚未就绪(可能正在重载插件或切换场景),请等待几秒后重试。原始信息: ${err}`;
|
||||
addLog("warn", `[scene-script] ${friendlyMsg}`);
|
||||
callback(friendlyMsg);
|
||||
} else {
|
||||
callback(err, result);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@@ -286,11 +297,17 @@ const getToolsList = () => {
|
||||
id: { type: "string", description: "节点 UUID" },
|
||||
x: { type: "number" },
|
||||
y: { type: "number" },
|
||||
rotation: { type: "number", description: "旋转角度" },
|
||||
width: { type: "number" },
|
||||
height: { type: "number" },
|
||||
scaleX: { type: "number" },
|
||||
scaleY: { type: "number" },
|
||||
anchorX: { type: "number", description: "锚点 X (0~1)" },
|
||||
anchorY: { type: "number", description: "锚点 Y (0~1)" },
|
||||
color: { type: "string", description: "HEX 颜色代码如 #FF0000" },
|
||||
opacity: { type: "number", description: "透明度 (0~255)" },
|
||||
skewX: { type: "number", description: "倾斜 X" },
|
||||
skewY: { type: "number", description: "倾斜 Y" },
|
||||
},
|
||||
required: ["id"],
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user