private static IEnumerator WaitAndPerform(float timeInSeconds, MonoBehaviour mb, ActionBoolResult action) { yield return(new WaitForSeconds(timeInSeconds)); if (action()) { Repeat(mb, timeInSeconds, action); } }
public static void Repeat(this MonoBehaviour mb, float timeInSeconds, ActionBoolResult action) { mb.StartCoroutine(WaitAndPerform(timeInSeconds, mb, action)); }