| | |
| | | |
| | | import shelf from '/map/shelf.svg'; |
| | | import charge from '/map/charge.svg'; |
| | | import station from '/map/station.svg'; |
| | | import direction from '/map/direction.svg'; |
| | | |
| | | let app, mapContainer; |
| | |
| | | let sprite; |
| | | switch (deviceType) { |
| | | case DEVICE_TYPE.SHELF: |
| | | sprite = new PIXI.Sprite(PIXI.Texture.from(shelf, { resourceOptions: { scale: 5 } })); |
| | | sprite.width = 50; |
| | | sprite.height = 50; |
| | | sprite = new PIXI.Sprite(PIXI.Texture.from(shelf, { resourceOptions: { scale: 1 } })); |
| | | // sprite.width = 50; |
| | | // sprite.height = 50; |
| | | sprite.zIndex = DEVICE_Z_INDEX.SHELF; |
| | | break; |
| | | case DEVICE_TYPE.CHARGE: |
| | | sprite = new PIXI.Sprite(PIXI.Texture.from(charge, { resourceOptions: { scale: 1 } })); |
| | | sprite.width = 60; |
| | | sprite.height = 60; |
| | | // sprite.width = 60; |
| | | // sprite.height = 60; |
| | | sprite.zIndex = DEVICE_Z_INDEX.CHARGE; |
| | | break; |
| | | case DEVICE_TYPE.STATION: |
| | | sprite = new PIXI.Sprite(PIXI.Texture.from(station, { resourceOptions: { scale: 1 } })); |
| | | // sprite.width = 112; |
| | | // sprite.height = 63; |
| | | sprite.zIndex = DEVICE_Z_INDEX.STATION; |
| | | break; |
| | | case DEVICE_TYPE.DIRECTION: |
| | | sprite = new PIXI.Sprite(PIXI.Texture.from(direction, { resourceOptions: { scale: 5 } })); |
| | | sprite.width = 112; |
| | | sprite.height = 63; |
| | | sprite = new PIXI.Sprite(PIXI.Texture.from(direction, { resourceOptions: { scale: 1 } })); |
| | | // sprite.width = 112; |
| | | // sprite.height = 63; |
| | | sprite.zIndex = DEVICE_Z_INDEX.DIRECTION; |
| | | break; |
| | | default: |
| | |
| | | |
| | | } |
| | | |
| | | export const spriteListBeMovable = (selectedSprites, resetFn) => { |
| | | export const spriteListBeMovable = (selectedSprites, endFn) => { |
| | | if (selectedSprites && selectedSprites.length > 0) { |
| | | let batchMove = false; |
| | | let batchMoveStartPos = null; |
| | |
| | | mapContainer.parent.off('mousemove'); |
| | | mapContainer.parent.off('mouseup'); |
| | | |
| | | if (resetFn) { |
| | | resetFn(); |
| | | if (endFn) { |
| | | endFn(); |
| | | } |
| | | } |
| | | |
| | |
| | | && spriteBounds.y < boxBounds.y + boxBounds.height; |
| | | } |
| | | |
| | | export const clearMapData = () => { |
| | | if (!mapContainer) { |
| | | return; |
| | | } |
| | | let childList = []; |
| | | mapContainer.children.forEach(child => { |
| | | if (child.data?.uuid) { |
| | | childList.push(child); |
| | | } |
| | | }) |
| | | if (childList.length > 0) { |
| | | childList.forEach(child => { |
| | | mapContainer.removeChild(child); |
| | | child.destroy({ children: true, texture: false, baseTexture: false }); |
| | | }) |
| | | childList.forEach((child, index) => { |
| | | childList[index] = null; |
| | | }); |
| | | childList = []; |
| | | } |
| | | } |
| | | |
| | | |
| | | export const generateID = () => { |
| | | return Date.now().toString(36) + Math.random().toString(36).substring(2); |