private IEnumerator HideSubcanvasCoroutine (CanvasController subCC, SubcanvasHideStyle style, object context = null) { subCC.CanvasWillHide(); switch (style) { case SubcanvasHideStyle.Instant: yield return new WaitForEndOfFrame(); subCC.Canvas.enabled = false; subCC.CanvasGroup.alpha = 0; subCC.CanvasDidHide(); break; case SubcanvasHideStyle.FadeOut: CrossFadeCanvasGroup(subCC.CanvasGroup, 0, 0.4f); yield return new WaitForSeconds(0.4f); subCC.Canvas.enabled = false; subCC.CanvasDidHide(); break; } }
protected void HideSubcanvas (CanvasController subCC, SubcanvasHideStyle style, object context = null) { if (subCC.ParentCanvasController != this) { Debug.LogError("Cannot show a subcanvas that is not a child of this CanvasController"); return; } StartCoroutine(HideSubcanvasCoroutine(subCC, style, context)); }