Example #1
0
	private IEnumerator TransitionToCanvasCoroutine (CanvasController cc, CanvasTransitionStyle style, object contextData) {
		CanvasTransitionContext context = new CanvasTransitionContext(this, cc, contextData);

		this.CanvasWillHide();
		cc.CanvasWillShow(context);

		switch (style) {

		case CanvasTransitionStyle.Instant:
			this.Canvas.enabled = false;
			this.CanvasGroup.alpha = 0;
			cc.Canvas.enabled = true;
			cc.CanvasGroup.alpha = 1;
			this.CanvasDidHide();
			cc.CanvasDidShow();

			yield return new WaitForEndOfFrame();
			break;

		case CanvasTransitionStyle.CrossFade:
			cc.Canvas.enabled = true;
			CrossFadeCanvasGroup(this.CanvasGroup, 0, 0.4f);
			CrossFadeCanvasGroup(cc.CanvasGroup, 1, 0.4f);
			yield return new WaitForSeconds(0.4f);

			this.CanvasDidHide();
			cc.CanvasDidShow();
			this.Canvas.enabled = false;
			break;

		case CanvasTransitionStyle.SlideUp:
			yield return new WaitForEndOfFrame();
			break;

		case CanvasTransitionStyle.Scale:
			yield return new WaitForEndOfFrame();
			break;
	
		}
	}
Example #2
0
	protected void TransitionToCanvas (CanvasController canvas, CanvasTransitionStyle style = CanvasTransitionStyle.Instant, object contextData = null) {
		if (this.IsSubcanvas) {
			this.parentCanvasController.TransitionToCanvas(canvas, style, contextData);
		} else {
			if (canvas.IsSubcanvas) {
		 		Debug.LogError("Cannot transition to a child CanvasController");
		 		return;
		 	}
			StartCoroutine(this.TransitionToCanvasCoroutine(canvas, style, contextData));
		}
	}