/// <summary> /// Does the hide. /// </summary> private IEnumerator DoHide(object parameter) { float wait = OnBeginHide(parameter); if (wait > 0) yield return new WaitForSeconds(wait); else yield return null; if (status == GUIPanelStatus.Hiding) { OnEndHide(hideAction == GUIPanelHideAction.Destroy); switch (hideAction) { case GUIPanelHideAction.Disable: guiControlDlg.SetActive(false); status = GUIPanelStatus.Hidden; break; case GUIPanelHideAction.Destroy: guiControlDlg.SetActive(false); status = GUIPanelStatus.Hidden; StartCoroutine("WaitForDestroy"); break; } } }
IEnumerator WaitForDestroy() { yield return new WaitForSeconds(destroyTimeout); Destroy(guiControlDlg); status = GUIPanelStatus.Invalid; }
public void InitialDefaulState() { status = GUIPanelStatus.Hiding; SaveActiveState(); guiControlDlg.SetActive(false); }
/// <summary> /// Hides the specified after time out. /// </summary> public void Hide(object parameter) { if (gameObject == null) return; // End showing if (status == GUIPanelStatus.Showing) { iTween.Stop(guiControlLocation); OnEndShow(); status = GUIPanelStatus.Showed; } if (status == GUIPanelStatus.Showed) { status = GUIPanelStatus.Hiding; SaveActiveState(); StartCoroutine(DoHide(parameter)); } AvUIManager.instance.CheckShowBorder(); }
private IEnumerator DoShow(object parameter) { //Debug.LogWarning("DoShow" + parameter); yield return new WaitForSeconds(showDelay); if (isSetupLocation && guiControlLocation!=null) { Vector3 pos = guiControlLocation.transform.localPosition; pos.x = vectorSetupLocation.x; pos.y = vectorSetupLocation.y; pos.z = 0; guiControlLocation.transform.localPosition = pos; } //Debug.LogWarning("OnBeginShow" + parameter); float wait = OnBeginShow(parameter); AvUIManager.instance.CheckShowBorder(); if (wait > 0) yield return new WaitForSeconds(wait); else yield return null; if (status == GUIPanelStatus.Showing) { OnEndShow(); status = GUIPanelStatus.Showed; } }
/// <summary> /// Tries the show. /// </summary> public bool TryShow(object parameter) { if (status == GUIPanelStatus.Invalid) { Init(); } StopCoroutine("WaitForDestroy"); // End hiding if (status == GUIPanelStatus.Hiding) { iTween.Stop(guiControlLocation); OnEndHide(hideAction == GUIPanelHideAction.Destroy); status = GUIPanelStatus.Hidden; } if (status == GUIPanelStatus.Hidden || status == GUIPanelStatus.Ok) { status = GUIPanelStatus.Showing; RestoreActiveState(true); if (isHasAlpha) { isHasAlpha = false; OnResetAlpha(); } //Debug.LogWarning("2" + parameter); StartCoroutine(DoShow(parameter)); //Debug.LogWarning("3"); return true; } if (status == GUIPanelStatus.Showed || status == GUIPanelStatus.Showing) { StartCoroutine(DoShow(parameter)); Debug.LogWarning("4"); return true; } Debug.LogWarning("5"); return false; }
/// <summary> /// Inits this instance. /// </summary> public bool Init() { if (status >= GUIPanelStatus.Ok) return true; status = GUIPanelStatus.Invalid; try { guiControlDlg = OnInit(); if (guiControlDlg != null) { status = GUIPanelStatus.Ok; } return true; } catch (System.Exception ex) { Debug.LogError("Init GUI panel - Init " + this.GetType().Name + "Exception - "+ ex); } return false; }