From 0e6d97436f58866063736781061c22b1cc4f5e6e Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期五, 18 十月 2024 17:11:05 +0800 Subject: [PATCH] # --- zy-acs-flow/src/map/tool.js | 11 +++++++++++ zy-acs-flow/src/map/player.js | 2 +- zy-acs-flow/src/map/MapPage.jsx | 4 ++-- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/zy-acs-flow/src/map/MapPage.jsx b/zy-acs-flow/src/map/MapPage.jsx index c25a681..b2a887a 100644 --- a/zy-acs-flow/src/map/MapPage.jsx +++ b/zy-acs-flow/src/map/MapPage.jsx @@ -140,7 +140,7 @@ player.hideStarryBackground(); player.activateMapMultiSelect((selectedSprites, restartFn) => { - setBatchSprites(selectedSprites); + Tool.multipleSelectEnhancer(selectedSprites, setCurSprite, setBatchSprites); }); mapContainer.children.forEach(child => { @@ -166,7 +166,7 @@ // player.showStarryBackground(); // 0x2f68ac player.activateMapMultiSelect((selectedSprites, restartFn) => { - setBatchSprites(selectedSprites); + Tool.multipleSelectEnhancer(selectedSprites, setCurSprite, setBatchSprites); }); mapContainer.children.forEach(child => { diff --git a/zy-acs-flow/src/map/player.js b/zy-acs-flow/src/map/player.js index b5b60f9..72dd37a 100644 --- a/zy-acs-flow/src/map/player.js +++ b/zy-acs-flow/src/map/player.js @@ -406,7 +406,7 @@ }) app.stage.eventMode = 'static'; app.stage.hitArea = app.screen; - + app.view.addEventListener('contextmenu', (event) => { event.preventDefault(); }); diff --git a/zy-acs-flow/src/map/tool.js b/zy-acs-flow/src/map/tool.js index 8ef7d0b..9bb38d2 100644 --- a/zy-acs-flow/src/map/tool.js +++ b/zy-acs-flow/src/map/tool.js @@ -408,6 +408,17 @@ effectHalfCircle.position.set(sprite.x, sprite.y); } +export const multipleSelectEnhancer = (selectedSprites, setCurSprite, setBatchSprites) => { + selectedSprites = selectedSprites.filter(sprite => sprite.data?.type); + + if (selectedSprites.length === 1) { + unMarkSprite(selectedSprites[0]); + setCurSprite(selectedSprites[0]); + } else { + setBatchSprites(selectedSprites); + } +} + export const rotationToNum = (rotation) => { let res = rotation * 180 / Math.PI; if (res < 0) { -- Gitblit v1.9.1