private IEnumerator InteruptableWait(float duration, CatState interuptState) { for (float elapsed = 0; elapsed < duration && !interuptState.HasFlag(state); elapsed += Time.deltaTime) { yield return(null); } }
private IEnumerator InteruptableWait(Func <bool> predicate, CatState interuptState) { while (!predicate() && !interuptState.HasFlag(state)) { yield return(null); } }