From b1a13c339bfc213c145c3254acd2520390911d8d Mon Sep 17 00:00:00 2001 From: goynov Date: Wed, 4 Feb 2026 18:12:19 +0200 Subject: [PATCH] #51 --- src/components/InteractiveObjects/ClassicPuzzle.js | 6 ++++-- src/components/InteractiveObjects/ClassicPuzzle.vue | 1 + src/components/InteractiveObjects/PairMatchingGame.vue | 2 +- src/components/InteractiveObjects/PuzzleGame1.js | 3 ++- src/components/InteractiveObjects/PuzzleGame1.vue | 1 + src/components/InteractiveObjects/PuzzleGame2.js | 3 ++- src/components/InteractiveObjects/PuzzleGame2.vue | 1 + src/components/SceneDesigner/GameObject.vue | 4 ++-- 8 files changed, 14 insertions(+), 7 deletions(-) diff --git a/src/components/InteractiveObjects/ClassicPuzzle.js b/src/components/InteractiveObjects/ClassicPuzzle.js index da7eaf5..5e9cfdd 100644 --- a/src/components/InteractiveObjects/ClassicPuzzle.js +++ b/src/components/InteractiveObjects/ClassicPuzzle.js @@ -3,7 +3,7 @@ import { EventManager } from '@/lib/EventManager'; import { centerOrigin } from "@/lib/MeshUtils"; class ClassicPuzzle extends EventManager { - emits = ['finish'] + emits = ['finish', 'interaction'] constructor(engine, data, objPrefix='Plane'){ super(); const container = new Group(); @@ -19,7 +19,9 @@ class ClassicPuzzle extends EventManager { let dragZone = gltf.scene.getObjectByName('DragZone'); dragZone.material.side = DoubleSide; let eventsFn= { - start(){}, + start(){ + that.dispatchEvent({type:'interaction'}); + }, drag(){}, end(e){ if (Math.abs(e.o.position.x)<.1 && Math.abs(e.o.position.y)<.1){ diff --git a/src/components/InteractiveObjects/ClassicPuzzle.vue b/src/components/InteractiveObjects/ClassicPuzzle.vue index e8f10ff..0dffcd7 100644 --- a/src/components/InteractiveObjects/ClassicPuzzle.vue +++ b/src/components/InteractiveObjects/ClassicPuzzle.vue @@ -1,6 +1,7 @@