public int InvokeRepeatingBool( BoolCoroutineMethodToCall method, float repeatRate )
 {
     ++counter;
     IEnumerator tempIEnumerator = InvokeRepeatingBoolMethod( method, repeatRate );
     currentCoroutines.Add( counter, tempIEnumerator );
     StartCoroutine( tempIEnumerator );
     return counter;
 }
 private IEnumerator InvokeRepeatingBoolMethod( BoolCoroutineMethodToCall method, float waitTime )
 {
     method();
     while ( true ) {
         yield return new WaitForSeconds( waitTime );
         if ( !method() ) {
             break;
         }
     }
     yield return null;
 }