| | |
| | | POINT: 2, |
| | | }) |
| | | |
| | | export const DEVICE_SPRITE_TINT = Object.freeze({ |
| | | SHELF: null, |
| | | STATION: null, |
| | | CHARGE: null, |
| | | DIRECTION: null, |
| | | |
| | | AGV: null, |
| | | POINT: 0xCACDCF, |
| | | }) |
| | | |
| | | export const DEVICE_SELECTED_EFFECT_PADDING = Object.freeze({ |
| | | SHELF: 10, |
| | | STATION: 10, |
| | |
| | | POINT: 100, |
| | | }) |
| | | |
| | | export const DEVICE_SELECTED_EFFECT_COLOR = Object.freeze({ |
| | | SHELF: 0xdcdde1, |
| | | STATION: 0xdcdde1, |
| | | CHARGE: 0xdcdde1, |
| | | DIRECTION: 0xdcdde1, |
| | | |
| | | AGV: 0x74b9ff, |
| | | POINT: 0xC9E6DA, |
| | | }) |
| | | |
| | | export const AGV_STATUS_MODE = Object.freeze({ |
| | | EMPTY_NO_BATTERY: 1, |
| | | EMPTY_HALF_BATTERY: 2, |
| | |
| | | // support |
| | | switch (item.type) { |
| | | case DEVICE_TYPE.POINT: |
| | | sprite.tint = 0xCACDCF; |
| | | sprite.scale.set(0.65, 0.65); |
| | | break |
| | | default: |
| | |
| | | DEVICE_TYPE, |
| | | DEVICE_Z_INDEX, |
| | | AGV_STATUS_MODE, |
| | | DEVICE_SPRITE_TINT, |
| | | DEVICE_SELECTED_EFFECT_PADDING, |
| | | DEVICE_SELECTED_EFFECT_COLOR, |
| | | } from './constants'; |
| | | |
| | | import shelf from '/map/shelf.svg'; |
| | |
| | | default: |
| | | break; |
| | | } |
| | | DEVICE_SPRITE_TINT[deviceType] != null && (sprite.tint = DEVICE_SPRITE_TINT[deviceType]); |
| | | |
| | | if (sprite && deviceType !== DEVICE_TYPE.AGV) { |
| | | // sprite.blendMode = PIXI.BLEND_MODES.MULTIPLY; |
| | | sprite.blendMode = PIXI.BLEND_MODES.MULTIPLY; |
| | | } |
| | | return sprite; |
| | | } |
| | |
| | | const maxDimension = Math.max(width, height); |
| | | const radius = (maxDimension / 2) + (DEVICE_SELECTED_EFFECT_PADDING[sprite.data?.type] || 10); |
| | | |
| | | const color = themeMode === 'light' ? '#40739e' : '#718093'; |
| | | let color; |
| | | const spriteEffectColor = DEVICE_SELECTED_EFFECT_COLOR[sprite.data?.type]; |
| | | if (spriteEffectColor) { |
| | | color = spriteEffectColor; |
| | | } else { |
| | | color = themeMode === 'light' ? '#747d8c' : '#718093'; |
| | | } |
| | | |
| | | const alpha = 1; |
| | | |
| | | effectCircle = new PIXI.Graphics(); |
| | |
| | | if (!selectedSprite || !effectCircle) { |
| | | return; |
| | | } |
| | | // 更新圆的位置,确保跟随sprite |
| | | effectCircle.position.set(selectedSprite.x, selectedSprite.y); |
| | | }; |
| | | |