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); }
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(); } } }
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(); } } }
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); } }
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); }
public virtual void OnPlay(WindowBase window, ME.Tweener.MultiTag tag, TransitionInputParameters parameters, WindowComponentBase root, bool forward, System.Action callback) { }