| | |
| | | if (!mapContainer && !dataFetched) { |
| | | return; |
| | | } |
| | | |
| | | |
| | | switch (model) { |
| | | case MapModel.OBSERVER_MODEL: |
| | | |
| | | |
| | | player.hideGridlines(); |
| | | player.hideStarryBackground(); |
| | | |
| | |
| | | Utils.removeSelectedEffect(); |
| | | setDeviceVisible(false); |
| | | setSettingsVisible(false); |
| | | |
| | | |
| | | mapContainer.children.forEach(child => { |
| | | Utils.viewFeature(child, setCurSPrite); |
| | | }) |
| | |
| | | Utils.beMovable(sprite, setDidClickSprite); |
| | | }; |
| | | |
| | | // watch curSprite |
| | | React.useEffect(() => { |
| | | if (!mapContainer) { |
| | | return; |
| | | } |
| | | prevCurSpriteRef.current = curSprite; |
| | | if (curSprite && prevCurSprite !== curSprite) { |
| | | Utils.removeSelectedEffect(); |
| | | } |
| | | if (curSprite) { |
| | | if (model === MapModel.OBSERVER_MODEL) { |
| | | Utils.showSelectedEffect(curSprite) |
| | | setDrawerVisible(true) |
| | | } |
| | | } else { |
| | | Utils.removeSelectedEffect(); |
| | | } |
| | | }, [curSprite]); |
| | | const prevCurSprite = prevCurSpriteRef.current; |
| | | |
| | | // didClickSprite, stop triggers both sprite click and play's selection boxs |
| | | React.useEffect(() => { |
| | | player.updateDidClickSprite(didClickSprite); |
| | |
| | | // setSettingsVisible(false); |
| | | // setSpriteBySettings(null); |
| | | } |
| | | |
| | | React.useEffect(() => { |
| | | prevCurSpriteRef.current = curSprite; |
| | | |
| | | if (curSprite && prevCurSprite !== curSprite) { |
| | | Utils.removeSelectedEffect(); |
| | | } |
| | | |
| | | if (curSprite) { |
| | | if (model === MapModel.OBSERVER_MODEL) { |
| | | Utils.showSelectedEffect(curSprite) |
| | | setDrawerVisible(true) |
| | | } |
| | | } else { |
| | | Utils.removeSelectedEffect(); |
| | | } |
| | | }, [curSprite]); |
| | | const prevCurSprite = prevCurSpriteRef.current; |
| | | |
| | | return ( |
| | | <> |