import {Container, Graphics} from '@pixi/react'; import {forwardRef, memo, useCallback, useEffect, useRef, useState} from 'react'; import {deferredLighting} from './lights.js'; const WaterTile = forwardRef(function WaterTile({height, width}, ref) { const draw = useCallback((g) => { g.clear(); g.beginFill(0x000000); g.drawRect( 0, 0, width, height ); }, [height, width]); return }); function Water({tileLayer, water}) { const [mounted, setMounted] = useState(false); useEffect(() => { setMounted(true); }, []); const waterTile = useRef(); const waterTiles = []; if (mounted) { for (const tileIndex in water) { const tileIndexNumber = parseInt(tileIndex); const tx = tileIndexNumber % tileLayer.area.x; const ty = (tileIndexNumber - tx) / tileLayer.area.x; waterTiles.push( ); } } return ( { if (element) { element.parentGroup = deferredLighting.diffuseGroup; } }}> {waterTiles} ); } export default memo(Water);