From 770161841c7e881ffe4c0aa6cfca6ca1d4773adb Mon Sep 17 00:00:00 2001 From: goynov Date: Sat, 4 Apr 2026 13:21:18 +0300 Subject: [PATCH] #80 --- .../GenericObject/GenericObject.js | 6 ++- .../ImageObject/ImageObject.js | 10 +++- .../ImageObject/ImageObject.vue | 1 + .../InteractiveObjects/InteractiveObject.js | 2 +- .../VideoPlayer/VideoPlayer.js | 10 ++++ .../VideoPlayer/VideoPlayer.vue | 1 + src/lib/Dashboard.js | 52 +++++++++++++------ 7 files changed, 61 insertions(+), 21 deletions(-) diff --git a/src/components/InteractiveObjects/GenericObject/GenericObject.js b/src/components/InteractiveObjects/GenericObject/GenericObject.js index fa4968b..49720e0 100644 --- a/src/components/InteractiveObjects/GenericObject/GenericObject.js +++ b/src/components/InteractiveObjects/GenericObject/GenericObject.js @@ -35,8 +35,10 @@ class GenericObject extends EventManager{ } } if (data.description){ - engine.dashboard.updateText(this.object.__onhud ? data.description : '', false, (d)=>{ - d && this.dispatchEvent({type:'finish'}) + engine.dashboard.updateText(this.object.__onhud ? data.description : '', { + textScrolledCallback: (d)=>{ + d && this.dispatchEvent({type:'finish'}) + } }) } } diff --git a/src/components/InteractiveObjects/ImageObject/ImageObject.js b/src/components/InteractiveObjects/ImageObject/ImageObject.js index 61cd49e..09033ba 100644 --- a/src/components/InteractiveObjects/ImageObject/ImageObject.js +++ b/src/components/InteractiveObjects/ImageObject/ImageObject.js @@ -1,7 +1,9 @@ +import { EventManager } from "@/lib/EventManager"; import { MeshStandardMaterial, MeshBasicMaterial, PlaneGeometry, Mesh, DoubleSide, Vector3 } from "three"; -class ImageObject { +class ImageObject extends EventManager{ constructor(engine, obj) { + super(); return new Promise(async(resolve, reject)=>{ if (obj.$go){ obj.path = engine.assetPath; @@ -32,6 +34,12 @@ class ImageObject { } this.object = new Mesh(geo, mp.metalness ? new MeshStandardMaterial(mp) : new MeshBasicMaterial(mp)); + if (obj.description) { + engine.clickable.add(this.object, ()=>{ + engine.dashboard.updateText(obj.description, {hideOnFinish: true}) + }) + } + resolve(this) }) } diff --git a/src/components/InteractiveObjects/ImageObject/ImageObject.vue b/src/components/InteractiveObjects/ImageObject/ImageObject.vue index 6bf33f8..eb923d8 100644 --- a/src/components/InteractiveObjects/ImageObject/ImageObject.vue +++ b/src/components/InteractiveObjects/ImageObject/ImageObject.vue @@ -2,6 +2,7 @@
{{ modelValue.title }}
+