| | |
| | | const [mapContainer, setMapContainer] = React.useState(null); |
| | | const [mapEditModel, setMapEditModel] = React.useState(false); |
| | | const [deviceSettingModel, setDeviceSettingModel] = React.useState(false); |
| | | const [didClickSprite, setDidClickSprite] = React.useState(false); |
| | | |
| | | // init func |
| | | React.useEffect(() => { |
| | | player = new Player(mapRef.current, styles.dark); |
| | | player = new Player(mapRef.current, styles.dark, didClickSprite); |
| | | setApp(player.app); |
| | | setMapContainer(player.mapContainer); |
| | | Utils.syncApp(player.app); |
| | |
| | | }; |
| | | window.addEventListener('resize', handleResize); |
| | | }, []); |
| | | |
| | | // didClickSprite, stop triggers both sprite click and play's selection boxs |
| | | React.useEffect(() => { |
| | | player.updateDidClickSprite(didClickSprite); |
| | | }, [didClickSprite]) |
| | | |
| | | // resize |
| | | React.useEffect(() => { |
| | |
| | | } |
| | | if (mapEditModel) { |
| | | player.showGridlines(); |
| | | mapContainer.children.forEach(child => { |
| | | Utils.beMovable(child); |
| | | }) |
| | | player.activateMapEvent(Utils.MapEvent.SELECTION_BOX, Utils.MapEvent.PAN); |
| | | mapContainer.children.forEach(child => { |
| | | Utils.beMovable(child, setDidClickSprite); |
| | | }) |
| | | } else { |
| | | player.hideGridlines(); |
| | | player.activateMapEvent(null, Utils.MapEvent.PAN); |
| | | mapContainer.children.forEach(child => { |
| | | child.off('pointerup'); |
| | | child.off('pointerdown'); |
| | |
| | | |
| | | Utils.initSprite(sprite); |
| | | mapContainer.addChild(sprite); |
| | | Utils.beMovable(sprite); |
| | | Utils.beMovable(sprite, setDidClickSprite); |
| | | }; |
| | | |
| | | return ( |