Exemple #1
0
 /// <summary>
 /// 关闭窗体
 /// </summary>
 /// <param name="windowName">窗体名称</param>
 /// <param name="destroyWindow">是否销毁窗体</param>
 public void PopWindow(string windowName, bool destroyWindow = false)
 {
     Debug.Log(mUIStack.Count);
     if (mUIStack.Contains(GetWindowByName(windowName)))
     {
         UGUIWindowBase temp = mUIStack.Pop();
         while (temp.windowInfo.GameObjectName != windowName)
         {
             temp.Hide();
             if (destroyWindow)
             {
                 temp.CloseWindow();
                 manager.CloseWindow(temp);
                 windowIndex.Remove(temp.windowInfo.GameObjectName);
             }
             temp = mUIStack.Pop();
         }
         temp.Hide();
         if (destroyWindow)
         {
             temp.CloseWindow();
             manager.CloseWindow(temp);
             windowIndex.Remove(temp.windowInfo.GameObjectName);
         }
     }
     else
     {
         Debug.LogError("UGUIFrameworkStackError: 名称为" + windowName + "的窗口未打开,无法隐藏或关闭!");
     }
 }
Exemple #2
0
 public void PopAllWindow(bool destroyWindow = false)
 {
     while (mUIStack.Count > 0)
     {
         UGUIWindowBase temp = mUIStack.Pop();
         temp.Hide();
         if (destroyWindow)
         {
             temp.CloseWindow();
             manager.CloseWindow(temp);
             windowIndex.Remove(temp.windowInfo.GameObjectName);
         }
     }
 }
Exemple #3
0
 public void CloseWindow(UGUIWindowBase window)
 {
     window.CloseWindow();
     Destroy(window.gameObject);
 }