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 | 25 ++++++++++++++++---------
1 files changed, 16 insertions(+), 9 deletions(-)
diff --git a/zy-asrs-flow/src/pages/map/player.js b/zy-asrs-flow/src/pages/map/player.js
index e74fce3..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);
@@ -84,7 +95,6 @@
this.mapContainer.parent.on('mouseup', (event) => {
if (isSelecting) {
- // sprite show style which be selected
if (this.selectedSprites && this.selectedSprites.length > 0) {
this.selectedSprites.forEach(child => {
Utils.unMarkSprite(child);
@@ -92,6 +102,7 @@
}
this.selectedSprites = [];
+ // sprite show style which be selected
this.mapContainer.children.forEach(child => {
if (Utils.isSpriteInSelectionBox(child, this.selectionBox)) {
this.selectedSprites.push(child);
@@ -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