Пример #1
0
 public static UniRx.IObservable <T> EmitWhenEnabled <T>(this UniRx.IObservable <T> obs, UniRx.IObservable <bool> enabler)
 {
     return((from e in enabler
             where e
             select e into _
             select obs.TakeUntil(from e in enabler
                                  where !e
                                  select e)).Switch());
 }
Пример #2
0
 public static UniRx.IObservable <T> WhenEnabled <T>(this UniRx.IObservable <T> obs, GameObject go)
 {
     UniRx.IObservable <Unit> source = (!go.activeInHierarchy) ? go.OnEnableAsObservable() : Observable.Return(Unit.Default).Concat(go.OnEnableAsObservable());
     return((from _ in source
             select obs.TakeUntil(go.OnDisableAsObservable())).Switch());
 }