From 80e5ee8049eefe7039d77048f43e6e0566a07953 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期一, 25 三月 2024 09:10:43 +0800
Subject: [PATCH] Merge branch 'Four-Way-Rack' of http://47.97.1.152:5880/r/zy-asrs-master into Four-Way-Rack

---
 zy-asrs-flow/src/pages/map/player.js |   23 +++++++++++++++--------
 1 files changed, 15 insertions(+), 8 deletions(-)

diff --git a/zy-asrs-flow/src/pages/map/player.js b/zy-asrs-flow/src/pages/map/player.js
index d9650aa..17eb4df 100644
--- a/zy-asrs-flow/src/pages/map/player.js
+++ b/zy-asrs-flow/src/pages/map/player.js
@@ -5,10 +5,9 @@
 
 export default class Player {
 
-    constructor(dom, dark, didClickSprite) {
+    constructor(dom, dark) {
         // not dynamic
         this.darkModel = dark;
-        this.didClickSprite = didClickSprite;
         // init
         this.app = generatePixiApp(dark);
         dom.appendChild(this.app.view);
@@ -60,10 +59,22 @@
         this.app.renderer.events.mapPositionToPoint(startPoint, event.clientX, event.clientY);
         let selectionStart = { x: startPoint.x, y: startPoint.y };
 
-        isSelecting = true;
+        // avoid trigger sprite event
+        let hasHitSprite = false;
+        for (let child of this.mapContainer.children) {
+            if (child.data?.uuid) {
+                if (child.getBounds().contains(selectionStart.x, selectionStart.y)) {
+                    hasHitSprite = true; break;
+                }
+            }
+        }
+
+        if (!hasHitSprite) {
+            isSelecting = true;
+        }
 
         const handleMouseMove = (event) => {
-            if (isSelecting && !this.didClickSprite) {
+            if (isSelecting) {
                 // select end pos
                 const endPoint = new PIXI.Point();
                 this.app.renderer.events.mapPositionToPoint(endPoint, event.clientX, event.clientY);
@@ -365,10 +376,6 @@
                 x: this.app.renderer.width / 2 - centerPoint.x * this.scale,
                 y: this.app.renderer.height / 2 - centerPoint.y * this.scale
             }, 200).start();
-    }
-
-    updateDidClickSprite = (value) => {
-        this.didClickSprite = value;
     }
 
     getStartedTicker = () => {

--
Gitblit v1.9.1