From 23862a960b39915cb0ceaa8ca77be70e985e2aa1 Mon Sep 17 00:00:00 2001
From: Percen <21pesi1bif@hft-stuttgart.de>
Date: Sat, 14 Dec 2024 16:20:21 +0000
Subject: [PATCH] Update public/index.html

---
 public/index.html | 33 ++++++++++++++++++++++-----------
 1 file changed, 22 insertions(+), 11 deletions(-)

diff --git a/public/index.html b/public/index.html
index 46159f2..79630be 100644
--- a/public/index.html
+++ b/public/index.html
@@ -68,6 +68,8 @@
     let selectedModel = 'robot'; // Start mit dem Roboter
     let models = {};
     let reticle;
+    let lastClickTime = 0; // Zeit des letzten Klicks
+    const doubleClickThreshold = 300; // Zeitspanne für Doppelklick in Millisekunden
 
     async function activateXR() {
       const canvas = document.createElement('canvas');
@@ -113,18 +115,27 @@
       session.addEventListener("select", (event) => {
         if (!reticle) return;
 
-        // Modell wechseln (zwischen Robot und Sonnenblume)
-        selectedModel = selectedModel === 'robot' ? 'sunflower' : 'robot';
-        console.log(`${selectedModel.charAt(0).toUpperCase() + selectedModel.slice(1)} ausgewählt`);
-
-        // Kein Button getroffen -> Modell platzieren
-        if (models[selectedModel]) {
-          const clone = models[selectedModel].clone();
-          clone.position.copy(reticle.position);
-          clone.scale.set(0.5, 0.5, 0.5); // Größe anpassen
-          scene.add(clone);
-          console.log(`${selectedModel} platziert`);
+        // Prüfen, ob es ein Doppelklick ist
+        const currentTime = Date.now();
+        const timeDiff = currentTime - lastClickTime;
+
+        if (timeDiff < doubleClickThreshold) {
+          // Doppelklick erkannt, Modell wechseln
+          selectedModel = selectedModel === 'robot' ? 'sunflower' : 'robot';
+          console.log(`${selectedModel.charAt(0).toUpperCase() + selectedModel.slice(1)} ausgewählt`);
+        } else {
+          // Einzelner Klick – Modell platzieren
+          if (models[selectedModel]) {
+            const clone = models[selectedModel].clone();
+            clone.position.copy(reticle.position);
+            clone.scale.set(0.5, 0.5, 0.5); // Größe anpassen
+            scene.add(clone);
+            console.log(`${selectedModel} platziert`);
+          }
         }
+
+        // Zeit des letzten Klicks aktualisieren
+        lastClickTime = currentTime;
       });
 
       // AR-Rendering
-- 
GitLab