public static IObservable <string> Get(string url) { return(AnonymsousObservable.Create <string>(observer => { void OnSuccess(string value) { try { observer.OnNext(value); observer.OnCompleted(); } catch (Exception exception) { observer.OnError(exception); } } void OnError(string error) { observer.OnError(new Exception(error)); } var e = GetWWW(url, OnSuccess, OnError); GameLoopDispatcher.StartCoroutine1(e); return Disposable.Empty; })); }
static void Initialize() { if (mInitialized == false) { if (Application.isPlaying == false) { return; } mInitialized = true; mInstance = new GameObject("GameLoopDispatcher").AddComponent <GameLoopDispatcher>(); } }
IEnumerator DelayAction(Action action, TimeSpan dueTime) { yield return(new WaitForSeconds((float)dueTime.TotalSeconds)); GameLoopDispatcher.Post(action); }
public IDisposable Schedule(Action action, TimeSpan dueTime) { GameLoopDispatcher.StartCoroutine1(DelayAction(action, dueTime)); return(Disposable.Empty); }
public IDisposable Schedule(Action action) { GameLoopDispatcher.Post(action); return(Disposable.Empty); }
private void Awake() { mInstance = this; mInitialized = true; }