public void TryCloseMenu(UIState targetState, YieldComplete onYieldComplete) { if (State == UIState.BlockInput || targetState == State) { return; } switch (State) { case UIState.SortMenu: SetState(UIState.BlockInput); _sortPanel.Hide(() => { SetState(UIState.Menu); onYieldComplete(); }); return; case UIState.SearchMenu: SetState(UIState.BlockInput); _searchPanel.Hide(() => { SetState(UIState.Menu); onYieldComplete(); }); return; } onYieldComplete(); }
IEnumerator AnimateTransitionYield(int toPageId, bool toRight, YieldComplete onYieldComplete) { float canvasSizeXFrom = 0; float canvasSizeXTo = UIManager.GetCanvasSize().x; if (toRight) { canvasSizeXTo = -canvasSizeXTo; } float lt = 0; while (lt < 1) { lt += Time.deltaTime * UIManager.ShowHideTimeMulti * 2; _content.anchoredPosition = new Vector2(Mathf.SmoothStep(canvasSizeXFrom, canvasSizeXTo, lt), _content.anchoredPosition.y); yield return(new WaitForEndOfFrame()); } FillPage(toPageId); lt = 0; while (lt < 1) { lt += Time.deltaTime * UIManager.ShowHideTimeMulti * 2; _content.anchoredPosition = new Vector2(Mathf.SmoothStep(-canvasSizeXTo, canvasSizeXFrom, lt), _content.anchoredPosition.y); yield return(new WaitForEndOfFrame()); } onYieldComplete(); }
IEnumerator SwitchPanelYield(bool show, YieldComplete onYieldComplete) { if (show) { ShowButtons(); } else { HideButtons(); } float lt = 0; while (lt < 1) { lt += Time.deltaTime * UIManager.ShowHideTimeMulti; yield return(new WaitForEndOfFrame()); } if (!show) { //IsMinimized = false; _basePanel.gameObject.SetActive(false); gameObject.SetActive(false); } onYieldComplete(); }
public virtual IEnumerator SwitchPanelYield(bool show, YieldComplete onYieldComplete) { float lt = 0; while (lt < 1) { lt += Time.deltaTime * UIManager.ShowHideTimeMulti; if (show) { _rectTransform.localScale = Vector3.Lerp(UIManager.HideSize, Vector3.one, lt); _canvasGroup.alpha = Mathf.SmoothStep(0, 1, lt); } else { _rectTransform.localScale = Vector3.Lerp(Vector3.one, UIManager.HideSize, lt); _canvasGroup.alpha = Mathf.SmoothStep(1, 0, lt); } yield return(new WaitForEndOfFrame()); } if (!show) { gameObject.SetActive(false); } IsActive = show; onYieldComplete(); }
public virtual void Hide(YieldComplete onYieldComplete) { if (gameObject.activeSelf) { StartCoroutine(SwitchPanelYield(false, onYieldComplete)); } }
public override void Hide(YieldComplete onYieldComplete) { base.Hide(delegate { _parentPanel.SetActive(false); onYieldComplete(); }); }
public void Show(bool useLastScrollPos, YieldComplete onYieldComplete) { if (useLastScrollPos) { _scrollRect.verticalNormalizedPosition = _lastScrollPos; } else { _scrollRect.verticalNormalizedPosition = 1; } gameObject.SetActive(true); StartCoroutine(SwitchPanelYield(true, useLastScrollPos, onYieldComplete)); }
IEnumerator SwitchPanelYield(bool show, bool useLastScrollPos, YieldComplete onYieldComplete) { float lt = 0; while (lt < 1) { lt += Time.deltaTime * UIManager.ShowHideTimeMulti; if (show) { _content.localScale = new Vector3(Mathf.SmoothStep(UIManager.HideSize.x, 1, lt), Mathf.SmoothStep(UIManager.HideSize.y, 1, lt)); _canvasGroup.alpha = Mathf.SmoothStep(0, 1, lt); } else { _content.localScale = new Vector3(Mathf.SmoothStep(1, UIManager.HideSize.x, lt), Mathf.SmoothStep(1, UIManager.HideSize.y, lt)); _canvasGroup.alpha = Mathf.SmoothStep(1, 0, lt); } if (useLastScrollPos) { _scrollRect.verticalNormalizedPosition = _lastScrollPos; } yield return(new WaitForEndOfFrame()); } if (!show) { gameObject.SetActive(false); } else if (useLastScrollPos) { _scrollRect.verticalNormalizedPosition = _lastScrollPos; } onYieldComplete(); }
public YieldResult(YieldComplete yieldComplete) { yieldCompleteDelegate = yieldComplete; }
public override void Show(YieldComplete onYieldComplete) { _parentPanel.SetActive(true); base.Show(onYieldComplete); }
public void Hide(YieldComplete onYieldComplete) { StartCoroutine(SwitchPanelYield(false, onYieldComplete)); }
public void Show(YieldComplete onYieldComplete) { gameObject.SetActive(true); _basePanel.gameObject.SetActive(true); StartCoroutine(SwitchPanelYield(true, onYieldComplete)); }
public void Hide(YieldComplete onYieldComplete) { _lastScrollPos = _scrollRect.verticalNormalizedPosition; StartCoroutine(SwitchPanelYield(false, false, onYieldComplete)); }