public void Refresh(CommCommandList.CommandInfo[] options, CanvasGroup cg, Action onCompleted = null)
 {
     if (this._refreshDisposable != null)
     {
         this._refreshDisposable.Dispose();
     }
     this._refreshDisposable = ObservableExtensions.Subscribe <Unit>(Observable.DoOnCompleted <Unit>((IObservable <M0>)Observable.FromCoroutine((Func <IEnumerator>)(() => this.Reopen(options, cg)), false), (Action)(() =>
     {
         Action action = onCompleted;
         if (action == null)
         {
             return;
         }
         action();
     })));
 }
示例#2
0
        public void EndADV(Action onCompleted = null)
        {
            this._canvasGroup.set_blocksRaycasts(false);
            if (this._subscriber != null)
            {
                this._subscriber.Dispose();
            }
            IObservable <TimeInterval <float> > observable = (IObservable <TimeInterval <float> >)Observable.FrameTimeInterval <float>((IObservable <M0>)ObservableEasing.Linear(0.3f, true), true);
            float startAlpha = this._canvasGroup.get_alpha();

            if (onCompleted != null)
            {
                this._subscriber = ObservableExtensions.Subscribe <TimeInterval <float> >(Observable.DoOnCompleted <TimeInterval <float> >((IObservable <M0>)observable, (Action)(() =>
                {
                    this.Active = false;
                    this._subscriber = (IDisposable)null;
                })), (Action <M0>)(x => this._canvasGroup.set_alpha(Mathf.Lerp(startAlpha, 0.0f, ((TimeInterval <float>) ref x).get_Value()))), (Action <Exception>)(ex => Debug.LogException(ex)), onCompleted);
            }
            else
            {
                this._subscriber = ObservableExtensions.Subscribe <TimeInterval <float> >(Observable.DoOnCompleted <TimeInterval <float> >((IObservable <M0>)observable, (Action)(() =>
                {
                    this.Active = false;
                    this._subscriber = (IDisposable)null;
                })), (Action <M0>)(x => this._canvasGroup.set_alpha(Mathf.Lerp(startAlpha, 0.0f, ((TimeInterval <float>) ref x).get_Value()))), (Action <Exception>)(ex => Debug.LogException(ex)));
            }
        }