public override void OnPlay(WindowBase window, object 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 duration = this.GetDuration(parameters, forward);
			var result = param.GetResult(forward);

			if (TweenerGlobal.instance != null) {

				//TweenerGlobal.instance.removeTweens(tag);
				TweenerGlobal.instance.addTweenAlpha(root.canvas, 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 (root.canvas != null) root.canvas.alpha = result;
				if (callback != null) callback();

			}

		}
Beispiel #2
0
        public void DoShowBegin(TransitionBase transition, TransitionInputParameters transitionParameters, AppearanceParameters parameters)
        {
            var needToPlay = (this.id > 0 || this.playType == PlayType.Replace);

            if (this.playType == PlayType.Replace)
            {
                WindowSystem.AudioStop(null, this.clipType, this.id);
            }

            if (transition != null)
            {
                if (needToPlay == true)
                {
                    WindowSystem.AudioPlay(this.window, this.clipType, this.id, this.playType == PlayType.Replace);
                    transition.SetResetState(transitionParameters, this.window, null);
                    transition.Play(null, this.window, transitionParameters, forward: true, callback: () => {
                        parameters.Call();
                    });
                }
            }
            else
            {
                if (needToPlay == true)
                {
                    WindowSystem.AudioPlay(this.window, this.clipType, this.id, this.playType == PlayType.Replace);
                }
                parameters.Call();
            }
        }
Beispiel #3
0
 public void Apply(TransitionBase transition, TransitionInputParameters parameters, bool forward, float value, bool reset)
 {
     if (reset == true)
     {
         transition.SetResetState(parameters, this.window, null);
     }
     transition.Set(this.window, parameters, null, forward: forward, value: value);
 }
    public override void OnPlay(WindowBase window, object 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);
        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 SetResetState(TransitionInputParameters parameters, WindowComponentBase root)
    {
        var param = this.GetParams <Parameters>(parameters);

        if (param == null)
        {
            return;
        }

        this.material.SetFloat("_Value", param.GetReset());
    }
		public void DoHideBegin(TransitionBase transition, TransitionInputParameters transitionParameters, AppearanceParameters parameters) {
			
			parameters.Call();

		}
		public override void OnPlay(WindowBase window, object 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();
					CanvasUpdater.ForceUpdate();

				}).onCancel((obj) => {

					if (callback != null) callback();
					CanvasUpdater.ForceUpdate();

				}).tag(tag).ease(ME.Ease.GetByType(forward == true ? param.inEase : param.outEase));

			} else {
				
				param.Apply(material, rect, resultState);
				if (callback != null) callback();
				CanvasUpdater.ForceUpdate();
				
			}

		}
		public override void SetOutState(TransitionInputParameters parameters, WindowBase window, WindowComponentBase root) {

			var param = this.GetParams<Parameters>(parameters);
			if (param == null) return;

			param.Apply(this.GetRoot(param, root), param.GetOut());

		}
		public void OnHideBegin(TransitionBase transition, TransitionInputParameters transitionParameters, System.Action callback) {

			if (transition != null) {
				
				transition.Play(this.window, transitionParameters, null, forward: false, callback: () => {

					WindowSystem.AudioStop(this.window, this.clipType, this.id);
					if (callback != null) callback();

				});
				
			} else {

				WindowSystem.AudioStop(this.window, this.clipType, this.id);
				if (callback != null) callback();
				
			}
			
		}
			public void SetResetState(TransitionInputParameters parameters, WindowBase window, WindowComponentBase root) {

				this.transition.SetResetState(parameters, window, root);

			}
			public float GetDuration(TransitionInputParameters parameters, bool forward) {
				
				return this.transition.GetDuration(parameters, forward);

			}
			public void Play(WindowBase window, TransitionInputParameters parameters, WindowComponentBase root, bool forward, System.Action callback) {

				this.transition.Play(window, parameters, root, forward, callback);
				
			}
		public void OnHideBegin(TransitionBase transition, TransitionInputParameters transitionParameters, System.Action callback) {

			var newWindow = WindowSystem.GetCurrentWindow();
			if (newWindow == null) return;

			if (transition != null) {

				if (newWindow.audio.id > 0 || newWindow.audio.playType == PlayType.Replace) {

					transition.Play(this.window, transitionParameters, null, forward: false, callback: () => {

						WindowSystem.AudioStop(this.window, this.clipType, this.id);
						if (callback != null) callback();

					});

				}

			} else {

				if (newWindow.audio.id > 0 || newWindow.audio.playType == PlayType.Replace) WindowSystem.AudioStop(this.window, this.clipType, this.id);
				if (callback != null) callback();
				
			}
			
		}
			public void SetInState(TransitionInputParameters parameters, WindowComponentBase root) {
				
				this.transition.SetInState(parameters, root);

			}
		public override void SetResetState(TransitionInputParameters parameters, WindowComponentBase root) {
			
			var param = this.GetParams<Parameters>(parameters);
			if (param == null) return;

			this.GetRoot(param, root).anchoredPosition = param.GetReset();

		}
		public override void OnPlay(WindowBase window, object 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 duration = this.GetDuration(parameters, forward);
			var result = param.GetResult(forward);

			var rect = this.GetRoot(param, root);
			var startPosition = rect.anchoredPosition;
			var endPosition = result;
			
			if (TweenerGlobal.instance != null) {

				TweenerGlobal.instance.removeTweens(tag);
				TweenerGlobal.instance.addTween<RectTransform>(rect, duration, 0f, 1f).onUpdate((obj, value) => {

					if (obj != null) {

						obj.anchoredPosition = Vector2.Lerp(startPosition, endPosition, value);

					}

				}).onComplete((obj) => { if (callback != null) callback(); }).onCancel((obj) => { if (callback != null) callback(); }).tag(tag);

			} else {
				
				rect.anchoredPosition = endPosition;
				if (callback != null) callback();
				
			}

		}
		public void OnShowBegin(TransitionBase transition, TransitionInputParameters transitionParameters, System.Action callback) {

			if (transition != null) {

				WindowSystem.AudioPlay(this.window, this.clipType, this.id);
				transition.SetResetState(transitionParameters, this.window, null);
				transition.Play(this.window, transitionParameters, null, forward: true, callback: () => {
					
					if (callback != null) callback();
					
				});

			} else {

				WindowSystem.AudioPlay(this.window, this.clipType, this.id);
				if (callback != null) callback();

			}
			
		}
		public override void Set(WindowBase window, TransitionInputParameters parameters, WindowComponentBase root, bool forward, float value) {

			var param = this.GetParams<Parameters>(parameters);
			if (param == null) {

				return;
				
			}

			var source = this.GetRoot(param, window);

			var state = new Parameters.State(source);
			var resultState = param.GetResult(forward);

			param.Apply(source, state, resultState, ME.Ease.GetByType(forward == true ? param.inEase : param.outEase).interpolate(0f, 1f, value, 1f));

		}
		/*
		private void TryToPlay(System.Action callback) {
			
			var equals = false;

			var prevWindow = WindowSystem.GetPreviousWindow();
			if (prevWindow != null) {
				
				equals = (prevWindow.audio.id == this.id || prevWindow.audio.id == 0);
				
				if (this.playType == PlayType.RestartIfEquals && equals == true) {

					WindowSystem.AudioStop(this.window, this.clipType, prevWindow.audio.id);

				} else if (equals == false) {

					WindowSystem.AudioStop(this.window, this.clipType, prevWindow.audio.id);

				}
				
			}

			if (this.playType == PlayType.KeepCurrent && equals == true) {
				
				// Keep current
				
			} else {
				
				if (this.id > 0) {

					WindowSystem.AudioPlay(this.window, this.clipType, this.id);

				}
				
			}
			
			if (callback != null) callback();

		}*/

		public void Apply(TransitionBase transition, TransitionInputParameters parameters, bool forward, float value, bool reset) {
			
			if (reset == true) transition.SetResetState(parameters, this.window, null);
			transition.Set(this.window, parameters, null, forward: forward, value: value);
			
		}
		public override void OnPlay(WindowBase window, object 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 SetResetState(TransitionInputParameters parameters, WindowBase window, WindowComponentBase root) {

			base.SetResetState(parameters, window, root);

			var param = this.GetParams<Parameters>(parameters);
			if (param == null) return;
			
			if (root != null && root.canvas != null) root.canvas.alpha = param.GetReset();
			
		}
		public override void SetResetState(TransitionInputParameters parameters, WindowBase window, WindowComponentBase root) {
			
			var param = this.GetParams<Parameters>(parameters);
			if (param == null) return;
			
			this.material.SetFloat("_Value", param.GetReset());

		}
		public override void Set(WindowBase window, TransitionInputParameters parameters, WindowComponentBase root, bool forward, float value) {

			var param = this.GetParams<Parameters>(parameters);
			if (param == null) {

				return;
				
			}
			
			//var duration = this.GetDuration(parameters, forward);
			var rect = this.GetRoot(param, window);

			var state = new Parameters.State(rect);
			var resultState = param.GetResult(forward);
			
			var material = param.GetMaterialInstance();

			param.Apply(material, rect, state, resultState, ME.Ease.GetByType(forward == true ? param.inEase : param.outEase).interpolate(0f, 1f, value, 1f));

		}
Beispiel #24
0
 public void DoHideBegin(TransitionBase transition, TransitionInputParameters transitionParameters, AppearanceParameters parameters)
 {
     parameters.Call();
 }
		public override void SetResetState(TransitionInputParameters parameters, WindowBase window, WindowComponentBase root) {
			
			var param = this.GetParams<Parameters>(parameters);
			if (param == null) return;

			param.Apply(param.GetMaterialInstance(), this.GetRoot(param, window), param.GetReset());

		}
Beispiel #26
0
		public void DoShowBegin(TransitionBase transition, TransitionInputParameters transitionParameters, AppearanceParameters parameters) {

			var needToPlay = (this.id > 0 || this.playType == PlayType.Replace);

			if (this.playType == PlayType.Replace) WindowSystem.AudioStop(null, this.clipType, this.id);

			if (transition != null) {

				if (needToPlay == true) {

					WindowSystem.AudioPlay(this.window, this.clipType, this.id, this.playType == PlayType.Replace);
					transition.SetResetState(transitionParameters, this.window, null);
					transition.Play(this.window, transitionParameters, null, forward: true, callback: () => {
						
						parameters.Call();
						
					});

				}

			} else {

				if (needToPlay == true) WindowSystem.AudioPlay(this.window, this.clipType, this.id, this.playType == PlayType.Replace);
				parameters.Call();

			}
			
		}