private IObservable <Unit> Load(Rife.Scene scene, LoadSceneMode mode) { return(Observable.Defer(() => SceneManager .LoadSceneAsync(scene.ToString(), mode) .AsObservable() .Do(_ => this.FireSignalOpened(scene)) .AsUnitObservable())); }
public IObservable <Unit> Unload(Rife.Scene scene) { return(Observable.Defer(() => SceneManager .UnloadSceneAsync(scene.ToString()) .AsObservable() .Do(_ => this.FireSignalClosed(scene)) .AsUnitObservable())); }
private void FireSignalOpened(Rife.Scene scene) { this.signalBus.Fire(new SceneSignal(scene, null)); }
private void FireSignalClosed(Rife.Scene scene) { this.signalBus.Fire(new SceneSignal(null, scene)); }
public IObservable <Unit> Load(Rife.Scene scene) { return(this.Load(scene, LoadSceneMode.Single)); }
public IObservable <Unit> Add(Rife.Scene scene) { return(this.Load(scene, LoadSceneMode.Additive)); }