コード例 #1
0
 /// <summary>
 /// 将Panel列表中指定的一个提到最前
 /// </summary>
 /// <param name="panel"></param>
 public static void FocusPanel(BaseTempSingletonPanel panel)
 {
     if (panel == null)
     {
         Debug.LogException(new NullReferenceException("panel"));
         return;
     }
     Instance._baseTempSingletonPanels.Remove(panel);
     foreach (var baseTempSingletonPanel in Instance._baseTempSingletonPanels.Where(baseTempSingletonPanel => baseTempSingletonPanel != panel))
     {
         baseTempSingletonPanel.gameObject.SetActive(false);
     }
     Instance._baseTempSingletonPanels.Add(panel); //将panel提到最上
     panel.gameObject.SetActive(true);             //激活面板
 }
コード例 #2
0
 public static void DidDestroyPanel(BaseTempSingletonPanel panel)
 {
     if (!Instance._baseTempSingletonPanels.Remove(panel))
     {
         Debug.LogError("怎么可能不在列表里,请检查bug隐患");
     }
     if (Instance._baseTempSingletonPanels.Count > 0)
     {
         Instance._baseTempSingletonPanels[Instance._baseTempSingletonPanels.Count - 1].gameObject.SetActive(true);//激活最上层Panel
     }
     else
     {
         Instance.CurrentUI.DidAllPanelDestroy();//所有面板都销毁了,告知UI
     }
 }
コード例 #3
0
 public static void DidDestroyPanel(BaseTempSingletonPanel panel)
 {
     if (!Instance._baseTempSingletonPanels.Remove(panel))
     {
         Debug.LogError("怎么可能不在列表里,请检查bug隐患");
     }
     if (Instance._baseTempSingletonPanels.Count > 0)
     {
         Instance._baseTempSingletonPanels.Last().gameObject.SetActive(true);//激活最上层Panel
     }
     else
     {
         foreach (var ui in Instance._baseUIs.Where(x => x))//激活UI
         {
             ui.gameObject.SetActive(true);
         }
     }
 }