Uff me ha gustado mucho la solución que le ha dado con la corotuine, sobre todo porque se aprovecha el click del mouse para la misma.
Por otra parte yo habia dado otra solución que es al parecer, menos eficiente, puesto que se ejecuta siempre y no solo tras disparar.
void Update(){
_currentLoadTime += Time.deltaTime;
if (!Input.GetMouseButton(0) || _currentLoadTime < loadTime) return;
var angle = Mathf.Atan2(_aimDirection.y, _aimDirection.x) * Mathf.Rad2Deg;
var rotation = Quaternion.AngleAxis(angle, Vector3.forward);
Instantiate(bulletPrefab, transform.position, rotation);
_currentLoadTime = 0;
}
Lo que hago es creaer un par de variables, que serviran como contador y como objetivo para permitir al jugador disparar o no, al disparar el contador se reinicia a 0, se suma el tiempo de cada frame y mientras no sea mayor o igual al objetivo, el jugador no puede disparar.
¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.