From 1e465fcab874dd5bf60fdff4151a3742b5a755b0 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期四, 17 十月 2024 14:21:12 +0800 Subject: [PATCH] # --- zy-acs-flow/src/map/tool.js | 104 ++++++++++++++++++++++++++++++---------------------- 1 files changed, 60 insertions(+), 44 deletions(-) diff --git a/zy-acs-flow/src/map/tool.js b/zy-acs-flow/src/map/tool.js index de1f008..8ef7d0b 100644 --- a/zy-acs-flow/src/map/tool.js +++ b/zy-acs-flow/src/map/tool.js @@ -141,43 +141,6 @@ sprite.alpha = 1; } -export const beMovable = (sprite) => { - sprite.off('pointerup'); - sprite.off('pointermove'); - sprite.off('pointerdown'); - sprite.off('click'); - - sprite.on("pointerdown", onDragStart); - - let dragTarget; - function onDragStart(event) { - if (event.button === 0) { - dragTarget = event.currentTarget; - mapContainer.parent.off('pointermove'); - mapContainer.parent.on('pointermove', onDragMove, dragTarget); - - mapContainer.parent.off('pointerup'); - mapContainer.parent.on('pointerup', onDragEnd.bind(mapContainer)); - } - } - - function onDragMove(event) { - if (this) { - this.parent.toLocal(event.global, null, this.position); - } - } - - function onDragEnd() { - if (dragTarget) { - this.parent.off('pointermove'); - this.parent.off('pointerup'); - dragTarget.alpha = 1; - dragTarget = null; - } - } - -} - export const spriteListBeMovable = (selectedSprites, endFn) => { if (selectedSprites && selectedSprites.length > 0) { let batchMove = false; @@ -252,6 +215,57 @@ && spriteBounds.x < boxBounds.x + boxBounds.width && spriteBounds.y + spriteBounds.height > boxBounds.y && spriteBounds.y < boxBounds.y + boxBounds.height; +} + +export const beInsight = (sprite, setCurSprite) => { + sprite.off('pointerup'); + sprite.off('pointermove'); + sprite.off('pointerdown'); + sprite.off('click'); + + sprite.on("click", onClick); + + function onClick(event) { + setCurSprite(sprite); + } + +} + +export const beMovable = (sprite) => { + sprite.off('pointerup'); + sprite.off('pointermove'); + sprite.off('pointerdown'); + sprite.off('click'); + + sprite.on("pointerdown", onDragStart); + + let dragTarget; + function onDragStart(event) { + if (event.button === 0) { + dragTarget = event.currentTarget; + mapContainer.parent.off('pointermove'); + mapContainer.parent.on('pointermove', onDragMove, dragTarget); + + mapContainer.parent.off('pointerup'); + mapContainer.parent.on('pointerup', onDragEnd.bind(mapContainer)); + } + } + + function onDragMove(event) { + if (this) { + this.parent.toLocal(event.global, null, this.position); + } + } + + function onDragEnd() { + if (dragTarget) { + this.parent.off('pointermove'); + this.parent.off('pointerup'); + dragTarget.alpha = 1; + dragTarget = null; + } + } + } export const beSettings = (sprite, setSpriteSettings) => { @@ -482,29 +496,31 @@ // dynamic graphic ---------------- -export const generateDynamicGraphic = (curZone, data) => { +export const generateDynamicGraphic = (curZone, data, setCurSprite) => { // console.log("ws", curZone, data); - for (const agvVo of data.agvVos) { - showAgvSprite(curZone, agvVo) + for (const agv of data.agvVos) { + showAgvSprite(curZone, agv, setCurSprite) } } -const showAgvSprite = (curZone, agvVo) => { - const { agvNo, code, direction, backpack, battery, ...rest } = agvVo; +const showAgvSprite = (curZone, agv, setCurSprite) => { + const { agvNo, code, direction, backpack, battery, ...rest } = agv; if (!code) { return } const codeSprite = querySprite(DEVICE_TYPE.POINT, code); if (!codeSprite) { return } let agvSprite = querySprite(DEVICE_TYPE.AGV, agvNo); if (!agvSprite) { - agvSprite = generateSprite(DEVICE_TYPE.AGV, generateAgvSpriteTexture(getAgvStatusMode(backpack, battery))); + agvSprite = generateSprite(DEVICE_TYPE.AGV, + generateAgvSpriteTexture(getAgvStatusMode(backpack.filter(item => item.loaded === true).length, battery)) + ); initSprite(agvSprite, DEVICE_TYPE.AGV); agvSprite.data.no = agvNo; agvSprite.position.set(codeSprite.position.x, codeSprite.position.y); agvSprite.rotation = rotationParseNum(direction); mapContainer.addChild(agvSprite); - // viewFeature(shuttle, setCurSPrite); // todo + beInsight(agvSprite, setCurSprite); // agv no on sprite } } \ No newline at end of file -- Gitblit v1.9.1