From af519ff39ff2a4e2164dde26c9a1d75e7a504d06 Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期三, 17 十二月 2025 12:58:41 +0800
Subject: [PATCH] #

---
 zy-acs-flow/src/map/tool.js     |   11 ++++++-----
 zy-acs-flow/src/map/player.js   |    5 ++++-
 zy-acs-flow/src/map/MapPage.jsx |    2 +-
 3 files changed, 11 insertions(+), 7 deletions(-)

diff --git a/zy-acs-flow/src/map/MapPage.jsx b/zy-acs-flow/src/map/MapPage.jsx
index bf36d83..610badc 100644
--- a/zy-acs-flow/src/map/MapPage.jsx
+++ b/zy-acs-flow/src/map/MapPage.jsx
@@ -468,7 +468,7 @@
                         gap: 2
                     }}
                 >
-                    {mode !== MAP_MODE.AREA_MODE && (
+                    {mode === MAP_MODE.OBSERVER_MODE && (
                         <>
                             <AreaFab
                                 curZone={curZone}
diff --git a/zy-acs-flow/src/map/player.js b/zy-acs-flow/src/map/player.js
index 3bc62f0..168049a 100644
--- a/zy-acs-flow/src/map/player.js
+++ b/zy-acs-flow/src/map/player.js
@@ -2,7 +2,7 @@
 import * as TWEEDLE from 'tweedle.js';
 import * as Tool from './tool';
 import star from '/img/map/star.png';
-import { MAP_MIRROR } from './constants';
+import { DEVICE_TYPE, MAP_MIRROR } from './constants';
 
 export default class Player {
 
@@ -90,6 +90,9 @@
 
                     // sprite show style which be selected
                     this.mapContainer.children.forEach(child => {
+                        if (child?.data?.type === DEVICE_TYPE.AREA) {
+                            return;
+                        }
                         if (Tool.isSpriteInSelectionBox(child, this.selectionBox)) {
                             this.selectedSprites.push(child);
                             Tool.markSprite(child);
diff --git a/zy-acs-flow/src/map/tool.js b/zy-acs-flow/src/map/tool.js
index a9213fc..8966bf2 100644
--- a/zy-acs-flow/src/map/tool.js
+++ b/zy-acs-flow/src/map/tool.js
@@ -986,8 +986,11 @@
 
     const draft = new PIXI.Graphics();
     draft.name = id ? `area_${id}` : 'area_' + generateID();
-    draft.zIndex = DEVICE_Z_INDEX.AREA;
-    draft.lineStyle(2 / Math.abs(mapContainer.scale.x || 1), AREA_BORDER_COLOR, 0.9);
+    draft.zIndex = 0;
+    if (setCurSprite) {
+        draft.lineStyle(2 / Math.abs(mapContainer.scale.x || 1), AREA_BORDER_COLOR, 0.9);
+        draft.zIndex = DEVICE_Z_INDEX.AREA;
+    }
     draft.beginFill(areaColor, 0.18);
     draft.drawRect(
         Math.min(from.x, to.x),
@@ -1128,7 +1131,5 @@
 
 export const hideAreas = (curZone, setShowAreas) => {
     clearAreas();
-    if (setShowAreas) {
-        setShowAreas(false);
-    }
+    setShowAreas(false);
 };

--
Gitblit v1.9.1