I want code to check if target is alive, and if yes shoot at it. I want to check it all the time, and shoot all the time, The only problem is that checks can be made anytime u want, but shooting must have limits of fire per second. I mean u check the target all the time, but when u decide to shoot, bullets will fire one after another with some delays. And also when u realize that target is dead u stop shooting at the same time.
void Update()
{
StartCoroutine(Shoot(currentTarget, 1f));
}
IEnumerator Shoot(Collider currentTarget, float delayTime)
{
yield return new WaitForSeconds(delayTime);
if (currentTarget != null)
{
.......
}
}
This code starts to shoot but with no delays between shooting.
See Question&Answers more detail:os