From 956a07a6a671c7b273ed7eb5075c4b4fec7fc54d Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期五, 12 十二月 2025 14:02:01 +0800
Subject: [PATCH] #
---
zy-acs-flow/src/map/player.js | 15 ++++++++++++++-
zy-acs-flow/src/map/MapPage.jsx | 2 ++
2 files changed, 16 insertions(+), 1 deletions(-)
diff --git a/zy-acs-flow/src/map/MapPage.jsx b/zy-acs-flow/src/map/MapPage.jsx
index 044df1d..68e63c7 100644
--- a/zy-acs-flow/src/map/MapPage.jsx
+++ b/zy-acs-flow/src/map/MapPage.jsx
@@ -137,6 +137,8 @@
setCurSprite(null);
setBatchSprites([]);
+ player.deactivateMapMultiSelect();
+
switch (mode) {
case MAP_MODE.OBSERVER_MODE:
player.activateMapMultiSelect((selectedSprites, restartFn) => {
diff --git a/zy-acs-flow/src/map/player.js b/zy-acs-flow/src/map/player.js
index 5369f4e..3bc62f0 100644
--- a/zy-acs-flow/src/map/player.js
+++ b/zy-acs-flow/src/map/player.js
@@ -117,6 +117,19 @@
this.mapContainer.parent.on('mousedown', mapMultiSelectHandle)
}
+ deactivateMapMultiSelect = () => {
+ if (!this.mapContainer?.parent) {
+ return;
+ }
+ this.mapContainer.parent.off('mousedown');
+ this.clearSelectedSprites();
+ if (this.selectionBox) {
+ this.selectionBox.clear();
+ this.app?.stage.removeChild(this.selectionBox);
+ this.selectionBox = null;
+ }
+ }
+
clearSelectedSprites = () => {
if (this.selectedSprites && this.selectedSprites.length > 0) {
this.selectedSprites.forEach(child => {
@@ -471,4 +484,4 @@
mapContainer.name = name;
mapContainer.data = {};
return mapContainer;
-}
\ No newline at end of file
+}
--
Gitblit v1.9.1