| | |
| | | import * as TWEEDLE from 'tweedle.js'; |
| | | import * as Tool from './tool'; |
| | | import star from '/img/map/star.png'; |
| | | import { DEVICE_TYPE } from './constants'; |
| | | import { DEVICE_TYPE, MAP_MIRROR } from './constants'; |
| | | |
| | | export default class Player { |
| | | |
| | |
| | | |
| | | // sprite show style which be selected |
| | | this.mapContainer.children.forEach(child => { |
| | | if (child?.data?.type === DEVICE_TYPE.AREA) { |
| | | return; |
| | | } |
| | | if (Tool.isSpriteInSelectionBox(child, this.selectionBox)) { |
| | | this.selectedSprites.push(child); |
| | | Tool.markSprite(child); |
| | |
| | | |
| | | this.mapContainer.parent.off('mousedown'); |
| | | this.mapContainer.parent.on('mousedown', mapMultiSelectHandle) |
| | | } |
| | | |
| | | deactivateMapMultiSelect = () => { |
| | | if (!this.mapContainer?.parent) { |
| | | return; |
| | | } |
| | | this.mapContainer.parent.off('mousedown'); |
| | | this.clearSelectedSprites(); |
| | | if (this.selectionBox) { |
| | | this.selectionBox.clear(); |
| | | this.app?.stage.removeChild(this.selectionBox); |
| | | this.selectionBox = null; |
| | | } |
| | | } |
| | | |
| | | clearSelectedSprites = () => { |
| | |
| | | |
| | | this.scale = newScale; |
| | | |
| | | this.mapContainer.scale.set(this.scale); |
| | | this.mapContainer.scale.set(this.scale, Math.abs(this.scale)); |
| | | |
| | | this.mapContainer.children.forEach(child => { |
| | | // child.scale.set(1 / (this.scale * 1)); // 防止图标变小 |
| | |
| | | } |
| | | |
| | | this.scale = Math.min( |
| | | this.app.renderer.width / (maxX - minX) * 0.8, |
| | | this.app.renderer.height / (maxY - minY) * 0.8 |
| | | this.app.renderer.width / (maxX - minX) * 0.85, |
| | | this.app.renderer.height / (maxY - minY) * 0.85, |
| | | ); |
| | | |
| | | let centerPoint = { |
| | |
| | | |
| | | new TWEEDLE.Tween(this.mapContainer.scale).easing(TWEEDLE.Easing.Quadratic.Out) |
| | | .to({ |
| | | x: this.scale, |
| | | x: MAP_MIRROR ? -this.scale : this.scale, |
| | | y: this.scale |
| | | }, 200).start(); |
| | | |
| | |
| | | mapContainer.name = name; |
| | | mapContainer.data = {}; |
| | | return mapContainer; |
| | | } |
| | | } |