コード例 #1
0
        public override void OnPlay(WindowBase window, ME.Tweener.MultiTag tag, TransitionInputParameters parameters, WindowComponentBase root, bool forward, System.Action callback)
        {
            var param = this.GetParams <Parameters>(parameters);

            if (param == null)
            {
                if (callback != null)
                {
                    callback();
                }
                return;
            }

            this.currentWindow = window;

            this.prevWindow = WindowSystem.GetPreviousWindow(window, (item) => item.window != null && item.window.GetState() == WindowObjectState.Shown);
            if (this.prevWindow == null)
            {
                window.transition.SaveToCache(this.clearScreen, () => {
                    this.material.SetTexture("_ClearScreen", this.clearScreen);
                }, this.grabEveryFrame);
            }
            else
            {
                if (forward == true)
                {
                    // Take screenshot from current view
                    this.prevWindow.transition.SaveToCache(this.clearScreen, () => {
                        this.material.SetTexture("_ClearScreen", this.clearScreen);
                    }, this.grabEveryFrame);
                }
                else
                {
                    // Take screenshot from previous view
                    this.prevWindow.transition.SaveToCache(this.clearScreen, () => {
                        this.material.SetTexture("_ClearScreen", this.clearScreen);
                    }, this.grabEveryFrame);
                }
            }

            var duration = this.GetDuration(parameters, forward);
            var result   = param.GetResult(forward);

            TweenerGlobal.instance.removeTweens(tag);
            TweenerGlobal.instance.addTween(this, duration, this.material.GetFloat("_Value"), result).onUpdate((obj, value) => {
                this.material.SetFloat("_Value", value);
            }).onComplete((obj) => { if (callback != null)
                                     {
                                         callback();
                                     }
                          }).onCancel((obj) => { if (callback != null)
                                                 {
                                                     callback();
                                                 }
                                      }).tag(tag);
        }
コード例 #2
0
        public override void OnPlay(WindowBase window, ME.Tweener.MultiTag tag, TransitionInputParameters parameters, WindowComponentBase root, bool forward, System.Action callback)
        {
            var param = this.GetParams <Parameters>(parameters);

            if (param == null)
            {
                if (callback != null)
                {
                    callback();
                }
                return;
            }

            var duration    = this.GetDuration(parameters, forward);
            var resultState = param.GetResult(forward);

            var rect  = this.GetRoot(param, window);
            var state = new Parameters.State(rect);

            var material = param.GetMaterialInstance();

            if (TweenerGlobal.instance != null)
            {
                //TweenerGlobal.instance.removeTweens(tag);
                TweenerGlobal.instance.addTween(rect, duration, 0f, 1f).onUpdate((obj, value) => {
                    if (obj != null)
                    {
                        param.Apply(material, obj, state, resultState, value);
                    }
                }).onComplete((obj) => {
                    if (callback != null)
                    {
                        callback();
                    }
                }).onCancel((obj) => {
                    if (callback != null)
                    {
                        callback();
                    }
                }).tag(tag).ease(ME.Ease.GetByType(forward == true ? param.inEase : param.outEase));
            }
            else
            {
                param.Apply(material, rect, resultState);
                if (callback != null)
                {
                    callback();
                }
            }
        }
コード例 #3
0
        public override void OnPlay(WindowBase window, ME.Tweener.MultiTag tag, TransitionInputParameters parameters, WindowComponentBase root, bool forward, System.Action callback)
        {
            var param = this.GetParams <Parameters>(parameters);

            if (param == null || root == null)
            {
                if (callback != null)
                {
                    callback();
                }
                return;
            }

            var canvasGroup = this.GetCanvasGroup(parameters);

            var duration = this.GetDuration(parameters, forward);
            var result   = param.GetResult(forward);

            if (TweenerGlobal.instance != null)
            {
                //TweenerGlobal.instance.removeTweens(tag);
                TweenerGlobal.instance.addTweenAlpha(canvasGroup, duration, result)
                .ease(ME.Ease.GetByType(forward == true ? param.inEase : param.outEase))
                .onComplete((obj) => { if (callback != null)
                                       {
                                           callback();
                                       }
                            })
                .onCancel((obj) => { if (callback != null)
                                     {
                                         callback();
                                     }
                          })
                .tag(tag);
            }
            else
            {
                if (canvasGroup != null)
                {
                    canvasGroup.alpha = result;
                }
                if (callback != null)
                {
                    callback();
                }
            }
        }
コード例 #4
0
        public void Play(ME.Tweener.MultiTag tag, WindowAnimationBase transitionBase, WindowBase window, TransitionInputParameters parameters, WindowComponentBase root, bool forward, System.Action callback)
        {
            var delay = this.GetDelay(parameters, forward);

            if (delay > 0f && TweenerGlobal.instance != null)
            {
                TweenerGlobal.instance.addTween(this, delay, 0f, 0f).tag(tag).onComplete(() => {
                    this.OnPlay(window, tag, parameters, root, forward, callback);
                }).onCancel((obj) => {
                    if (callback != null)
                    {
                        callback.Invoke();
                    }
                });
            }
            else
            {
                this.OnPlay(window, tag, parameters, root, forward, callback);
            }
        }
コード例 #5
0
 public void Play(ME.Tweener.MultiTag tag, WindowAnimationBase transitionBase, WindowBase window, TransitionInputParameters parameters, WindowComponentBase root, bool forward, System.Action callback)
 {
     this.transition.Play(tag, transitionBase, window, parameters, root, forward, callback);
 }
コード例 #6
0
 public virtual void OnPlay(WindowBase window, ME.Tweener.MultiTag tag, TransitionInputParameters parameters, WindowComponentBase root, bool forward, System.Action callback)
 {
 }