/// <summary>
    /// 隱藏介面
    /// </summary>
    public void HidePanel(EUIPanelType _UIPanelType, IUIPanelData _PanelData = null)
    {
        if (!IsPanelOnShow(_UIPanelType))
        {
            return;
        }
        IUIPanel panel;

        if (mSpawnPanelList.TryGetValue(_UIPanelType, out panel))
        {
            panel.HidePanel(_PanelData);
        }
    }
 /// <summary>
 /// 顯示介面
 /// </summary>
 public IUIPanel ShowPanel(EUIPanelType _UIPanelType, IUIPanelData _PanelData = null)
 {
     if (!mIsInit)
     {
         Debug.LogError("UI Manager not Init yet!");
         return(null);
     }
     //介面已經在顯示中
     if (IsPanelOnShow(_UIPanelType))
     {
         Debug.LogErrorFormat("[{0}] is Showing, if you want to show, please close first!!", _UIPanelType);
         return(null);
     }
     //介面已經生成,但目前未顯示
     if (HasPanel(_UIPanelType))
     {
         IUIPanel panel;
         if (mSpawnPanelList.TryGetValue(_UIPanelType, out panel))
         {
             panel.ShowPanel(_PanelData);
             return(panel);
         }
         return(null);
     }
     //介面未生成,生成新介面
     else
     {
         GameObject loadGo = null;
         if (mPanelDataList.TryGetValue(_UIPanelType, out loadGo))
         {
             GameObject panelObj = Utility.GameObjectRelate.InstantiateGameObject(GetCanvasRoot(), loadGo);
             mSpawnPanelList.Add(_UIPanelType, panelObj.GetComponent <IUIPanel>());
             panelObj.GetComponent <IUIPanel>().ShowPanel(_PanelData);
             return(panelObj.GetComponent <IUIPanel>());
         }
         Debug.LogErrorFormat("This [{0}] Type Can't Find Prefab Reference in UI Panel Reference Object", _UIPanelType);
         return(null);
     }
 }
Example #3
0
 // 結束
 public virtual void HidePanel(IUIPanelData _PanelData)
 {
     this.gameObject.SetActive(false);
 }
Example #4
0
 // 開始
 public virtual void ShowPanel(IUIPanelData _PanelData)
 {
     this.gameObject.SetActive(true);
 }