diff --git a/cc-inspector/src/scripts/inject/hint/adapter.ts b/cc-inspector/src/scripts/inject/hint/adapter.ts index b635228..e82dd89 100644 --- a/cc-inspector/src/scripts/inject/hint/adapter.ts +++ b/cc-inspector/src/scripts/inject/hint/adapter.ts @@ -65,7 +65,7 @@ export class HintAdapter { let node = new cc.Node("draw-node"); const canvas = cc.find("Canvas"); this.addDraw(scene, canvas, node); - this.draw = node.addComponent(cc.Graphics); + this.draw = node.addComponent(cc.Graphics || cc.GraphicsComponent); } public isDrawValid() { return this.draw && this.draw.isValid; diff --git a/cc-inspector/src/scripts/inject/hint/hint-v3.ts b/cc-inspector/src/scripts/inject/hint/hint-v3.ts index 38a7890..caba68c 100644 --- a/cc-inspector/src/scripts/inject/hint/hint-v3.ts +++ b/cc-inspector/src/scripts/inject/hint/hint-v3.ts @@ -8,8 +8,23 @@ export class HintV3 extends HintAdapter { node.setSiblingIndex(len); } hitTest(node: any, x: number, y: number): boolean { - let b = node._uiProps?.uiTransformComp?.hitTest({ x, y }, 0); - return b; + let hitTest = null; + // hitTest = node._uiProps?.uiTransformComp?.hitTest; + const tr = node.getComponent(cc.UITransformComponent || cc.UITransform); + if (tr) { + if (tr.hitTest) { + hitTest = tr.hitTest.bind(tr); + } else if (tr.isHit) { + // TODO: 3.3.1使用的是这个接口,hitTest有问题,有人反馈再说修复,老版本暂不花费太多精力 + hitTest = tr.isHit.bind(tr); + } + } + if (hitTest) { + let b = hitTest({ x, y }, 0); + return b; + } else { + return false; + } } convertMousePos(event: MouseEvent, canvas: HTMLCanvasElement): { x: number; y: number } { const rect = canvas.getBoundingClientRect(); diff --git a/cc-inspector/src/scripts/inject/hint/index.ts b/cc-inspector/src/scripts/inject/hint/index.ts index 2d487b1..440b700 100644 --- a/cc-inspector/src/scripts/inject/hint/index.ts +++ b/cc-inspector/src/scripts/inject/hint/index.ts @@ -89,7 +89,7 @@ export class Hint { this.cleanSelected(); const nodes = this.getMouseNodes(event, canvas); const pickTop = toRaw(appStore().config.pickTop); - if (nodes.length === 1 || pickTop) { + if (nodes.length === 1 || (pickTop && nodes.length)) { const item = nodes[0]; this.cleanHover(); this.setSelected(item);