protected IEnumerator <object> WaitUntilResult() { do { #if IS_UNITY yield return(new WaitForFixedUpdate()); #else object o; if (HiveMPPromiseSchedulerSettings.CoroutineWaitObjectFactory == null) { o = new object(); } else { o = HiveMPPromiseSchedulerSettings.CoroutineWaitObjectFactory(); } if (o == null) { o = new object(); } yield return(o); #endif } while (!_hasT && _ex == null); if (_hasT) { _resolve(_t); } else { _reject(_ex); } }
protected static void StartCoroutine(IEnumerator e) { #if IS_UNITY HiveMPSDK.GetUnityMonoBehaviour().StartCoroutine(e); #else if (HiveMPPromiseSchedulerSettings.ScheduleCoroutine == null) { throw new System.InvalidOperationException("Attempted to schedule a coroutine for HiveMP, but HiveMPPromiseSchedulerSettings.ScheduleCoroutine was null!"); } HiveMPPromiseSchedulerSettings.ScheduleCoroutine(e); #endif }