IEnumerator DisablePanelDeleyed(PanelInstance page) { //bool closedStateReached = false; bool wantToClose = true; page.isClosed = false; Animator anim = page.GetComponent <Animator> (); if (anim && anim.enabled) { while (!page.isClosed && wantToClose) { yield return(new WaitForEndOfFrame()); } if (wantToClose) { page.gameObject.SetActive(false); } } else { page.gameObject.SetActive(false); } }
//通过名字打开面板 public void OpenPanelByName(string name) { PanelInstance page = null; for (int i = 0; i < Pages.Length; i++) { if (Pages[i].name == name) { page = Pages[i]; break; } } if (page == null) { return; } page.PanelBefore = currentPanel; currentPanel = page; CloseAllPanels(); Animator anim = page.GetComponent <Animator>(); if (anim && anim.isActiveAndEnabled) { anim.SetBool("Open", true); } page.gameObject.SetActive(true); }
public void ClosePanel(PanelInstance page) { if (page == null) return; currentPanel = null; Animator anim = page.GetComponent<Animator> (); if (anim && anim.isActiveAndEnabled) { anim.SetBool ("Open", false); } StartCoroutine (DisablePanelDeleyed (page)); }
public void OpenPanel(PanelInstance page) { if (page == null) return; page.PanelBefore = currentPanel; currentPanel = page; CloseAllPanels (); Animator anim = page.GetComponent<Animator> (); if (anim && anim.isActiveAndEnabled) { anim.SetBool ("Open", true); } page.gameObject.SetActive (true); }
//打开面板 public void OpenPanel(PanelInstance page) { if (page == null) { return; } page.PanelBefore = currentPanel; currentPanel = page; CloseAllPanels(); Animator anim = page.GetComponent <Animator>(); if (anim && anim.isActiveAndEnabled) { anim.SetBool("Open", true); } page.gameObject.SetActive(true); Debug.Log("面板" + page.gameObject.name + "已经打开"); }
IEnumerator DisablePanelDeleyed(PanelInstance page) { bool closedStateReached = false; bool wantToClose = true; Animator anim = page.GetComponent<Animator> (); if (anim && anim.enabled) { while (!closedStateReached && wantToClose) { if (!anim.IsInTransition (0)) { closedStateReached = anim.GetCurrentAnimatorStateInfo (0).IsName ("Closing"); } yield return new WaitForEndOfFrame(); } if (wantToClose) { anim.gameObject.SetActive (false); } } else { page.gameObject.SetActive (false); } }