Intento manejar las entradas del lado de la computadora del juego a través de una matriz. Cada elemento de la matriz se establecerá como el estado "objetivo actual" para activar la animación en los componentes secundarios. Creo que mi enfoque probablemente sea incorrecto, de todos modos, me pregunto si hay un medio para usar setTimeout en cada elemento de mi estado IAInputsQueue.
Este es mi código que no funciona:
Lógica principal:
useEffect(()=>{ if(!isPlayerTurn){ IAInputsQueue.forEach((element, index) => { window.setTimeout(() =>{ setCurrentTarget && setCurrentTarget(element) //Typescript checking },index *1000) }); return () => IAInputsQueue.forEach(clearTimeout) } },[isPlayerTurn, IAInputsQueue, setCurrentTarget])Lógica infantil:
useEffect(() => { if(currentTarget === uid){ animeButton() musicPlay() } },[currentTarget, uid, musicPlay, animeButton])