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);