/// <summary> /// 打开Panel /// </summary> /// <param name="ps">panel类型</param> public void OpenPanel(PanelState ps) { string name = ps.ToString(); GameObject panel = new GameObject(name); panel.transform.parent = parentObj; panel.transform.localEulerAngles = Vector3.zero; panel.transform.localPosition = Vector3.zero; panel.transform.localScale = Vector3.one; PanelBase pb = panel.AddComponent(Type.GetType(name)) as PanelBase; pb.OnInit(); }
// ******************************************************************** #endregion // ******************************************************************** // ******************************************************************** #region Private Methods // ******************************************************************** private IEnumerator UpdateState() { while (IsTransitioning()) { PanelState nextState = (PanelState)((int)m_state << 1); if (GetComponent <Animator>().GetCurrentAnimatorStateInfo(0).IsName(nextState.ToString())) { ChangeState(nextState); } else { yield return(null); } } }