public AddListener ( object[]>.Action |
||
callback | object[]>.Action | |
return | void |
public static UniRx.IObservable <object> ToObservable(this SignalRequester[] requests, BaseSignal[] returns) { if (returns == null || returns.Length == 0) { throw new ArgumentNullException("returns not valid"); } Subject <object> notYetReturned = new Subject <object>(); List <BaseSignal> returnsLeft = new List <BaseSignal>(returns); for (int i = 0; i < returns.Length; i++) { BaseSignal ret = returns[i]; Action <IBaseSignal, object[]> handler = null; handler = (s, xs) => { if (!returnsLeft.Contains(ret)) { throw new Exception("Something went wrong..."); } Assert.AreEqual(s, ret); ret.RemoveListener(handler); returnsLeft.Remove(ret); notYetReturned.OnNext(ret); if (returnsLeft.Count == 0) { notYetReturned.OnCompleted(); } }; ret.AddListener(handler); } return(notYetReturned); }
public CommandBinder(IInjectionBinder binder, BaseSignal signal) { this.binder = binder; this.signal = signal; signal.AddListener(ExecuteCommands); }
internal CommandBinder(IInjector binder, BaseSignal signal) { this.binder = binder; this.signal = signal; signal.AddListener(ExecuteCommands); }