检查条件并调用具有延迟统一周期的连续方法

我想要代码来检查目标是否存活,如果是的话,它会被拍摄。 我想一直检查,并一直拍摄,唯一的问题是可以随时进行检查,但射击必须有每秒限制。 我的意思是你一直在检查目标,但是当你决定射击时,子弹会一个接一个地发射,但会有一些延迟。 而且当你意识到目标已经死亡时,你会同时停止射击。

void Update() { StartCoroutine(Shoot(currentTarget, 1f)); } IEnumerator Shoot(Collider currentTarget, float delayTime) { yield return new WaitForSeconds(delayTime); if (currentTarget != null) { ....... } } 

此代码开始拍摄但拍摄之间没有延迟。

 InvokeRepeating( "PossiblyShoot" , 1f, 1f ); private void PossiblyShoot() { 1. check if target still exists 2. if it exists shoot at it }