From 78b50a72b061111c6ec9f138ef6e6ea30e48806d Mon Sep 17 00:00:00 2001 From: xu_yanfeng Date: Fri, 23 May 2025 21:15:54 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B1=9E=E6=80=A7=E9=9D=A2=E6=9D=BF=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E8=B7=B3=E8=BD=ACSource=E7=9A=84=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/core/types.ts | 2 +- src/scripts/inject/inspector.ts | 25 ++++++++++++++---------- src/views/devtools/ui/property-group.vue | 9 ++++++++- 3 files changed, 24 insertions(+), 12 deletions(-) diff --git a/src/core/types.ts b/src/core/types.ts index 2cae6ce..bc4e45a 100644 --- a/src/core/types.ts +++ b/src/core/types.ts @@ -75,7 +75,7 @@ export type ResponseSetPropertyData = Info; export type RequestLogData = string[]; export type RequestOpenNodeTouchFuntionData = { uuid: string; code: ShowCode; index: number }; export type RequestOpenScriptData = { - /**节点的UUID */ + /**节点或者组件的UUID */ uuid: string; /**节点的脚本名字 */ script: string; diff --git a/src/scripts/inject/inspector.ts b/src/scripts/inject/inspector.ts index 7b13f66..0692170 100644 --- a/src/scripts/inject/inspector.ts +++ b/src/scripts/inject/inspector.ts @@ -125,21 +125,26 @@ export class Inspector extends InjectEvent { } case Msg.RequestOpenScript: { const data: RequestOpenScriptData = pluginEvent.data; - const node = this.inspectorGameMemoryStorage[data.uuid]; - if (!node || !node.isValid) { + const nodeOrComp = this.inspectorGameMemoryStorage[data.uuid]; + if (!nodeOrComp || !nodeOrComp.isValid) { return; } - const comps = node._components; - if (comps) { - for (let i = 0; i < comps.length; i++) { - const comp = comps[i]; - const compName = this.getCompName(comp); - if (compName === data.script) { - this.target = comp.constructor; - break; + if (nodeOrComp instanceof cc.Node) { + const comps = nodeOrComp._components; + if (comps) { + for (let i = 0; i < comps.length; i++) { + const comp = comps[i]; + const compName = this.getCompName(comp); + if (compName === data.script) { + this.target = comp.constructor; + break; + } } } + } else if (true || nodeOrComp instanceof cc.Component) { + this.target = nodeOrComp.constructor; } + break; } case Msg.RequestOpenNodeTouchFuntion: { diff --git a/src/views/devtools/ui/property-group.vue b/src/views/devtools/ui/property-group.vue index 4c7a025..f05030d 100644 --- a/src/views/devtools/ui/property-group.vue +++ b/src/views/devtools/ui/property-group.vue @@ -8,6 +8,7 @@
@@ -20,7 +21,7 @@