IEnumerator _SpreadCrosshair() { while (true) { if (FireCounter > 0) { FireCounter = Mathf.Min(0, FireCounter - 1); RectTf.anchoredPosition += MovingDir * SpreadStep; yield return(Yielder.WaitNextFrame); } yield return(Yielder.WaitUntil(0, () => FireCounter > 0)); } }