예제 #1
0
 public void ExitPanel(OnExitPanel onExitPanel = null)
 {
     if (stackUiBases.Count > 1)
     {
         GameObject go = stackUiBases.Pop();
         //go.SetActive(false);
         if (onExitPanel != null)
         {
             onExitPanel(go);
         }
         else
         {
             DOTweenAnimation doTween = go.GetComponent <DOTweenAnimation>();
             if (doTween != null)
             {
                 UnityEvent unityEvent = new UnityEvent();
                 unityEvent.AddListener(() =>
                 {
                     go.SetActive(false);
                     Object.Destroy(go);
                 });
                 doTween.onComplete = unityEvent;
                 doTween.DOPlayBackwards();
             }
         }
         //GameObject.Destroy(go);
         if (stackUiBases.Peek() != null)
         {
             GameObject goNew = stackUiBases.Peek();
             goNew.SetActive(true);
         }
     }
     else
     {
         throw new Exception("UIPanel IS NULL, WRONG EXIT!");
     }
 }
예제 #2
0
 public void ChangePanel(PanelType panelType, OnExitPanel onExitPanel = null, OnEnterPanel onEnterPanel = null)
 {
     ExitPanel(onExitPanel);
     EnterPanel(panelType, onEnterPanel);
 }