private IEnumerator Tick() { var waitTime = new WaitForSeconds(settings.TimeBetweenTicks); do { _core.Tick(); yield return(waitTime); } while (_core.IsBusy); IsBusy = false; }