Пример #1
0
        public CnPanelObj GetTopView()
        {
            CnPanelObj ret = null;

            if (this._viewStack.Count > 0)
            {
                ret = this._viewStack.Last();
            }
            return(ret);
        }
Пример #2
0
 public bool CanUnload(CnPanelObj view)
 {
     if (this._viewStack.Contains(view))
     {
         return(true);
     }
     else
     {
         ZLog.E(null, "{0} no view {1}_{2}", this._root.name, view.GetName(), view.ZOrder);
     }
     return(false);// this.IsTop(view);
 }
Пример #3
0
 public void InitNewPanel(CnPanelObj view, GameObject ins, bool show, params object[] args)
 {
     view.InitArgs(_viewID, ins, this, args);
     _viewID++;
     if (show)
     {
         DoShow(view);
     }
     else
     {
         DoHide(view);
     }
 }
Пример #4
0
        //implement IViewMgr
        public bool DestoryView(CnPanelObj view)
        {
            bool isTop = this.IsTop(view);

            this._viewStack.Remove(view);

            if (isTop)
            {
                CnPanelObj next = this.GetTopView();
                if (next != null)
                {
                    next.DoBring2Top(view);
                }
            }
            GameObject.Destroy(view.UIObj);
            return(true);
        }
Пример #5
0
        public bool DoHide(CnPanelObj view)
        {
            bool ret = false;

            if (this._viewStack.Contains(view))
            {
                bool isTop = this.IsTop(view);
                this._viewStack.Remove(view);
                if (isTop)
                {
                    CnPanelObj next = this.GetTopView();
                    if (next != null)
                    {
                        next.DoBring2Top(view);
                    }
                }
            }
            this._initViewSet.Add(view);
            view.UIObj.SetActive(false);
            ret = true;
            return(ret);
        }
Пример #6
0
        public bool DoShow(CnPanelObj view)
        {
            bool ret = false;

            do
            {
                CnPanelObj last_view = this.GetTopView();
                this._viewStack.Add(view);
                if (last_view != null)
                {
                    last_view.OnBehind(view);
                }

                if (this._initViewSet.Contains(view))
                {
                    this._initViewSet.Remove(view);
                    //ZLog.E(null, "{0} no init view {1}_{2}", this._thisCanvas.name, view.GetName(), view.ZOrder);
                    //break;
                }
                view.UIObj.SetActive(true);
                ret = true;
            }while(false);
            return(ret);
        }
Пример #7
0
        }                                                                                   //从顶层移到后一层

        public override void OnTop(CnPanelObj topview)
        {
            this.view.OnTop(topview);
        }                                                                                                   //从后层变到顶层
Пример #8
0
        }                                                                 //移除前调用

        public override void OnBehind(CnPanelObj topview)
        {
            this.view.OnBehind(topview);
        }                                                                                   //从顶层移到后一层
Пример #9
0
        }                                                     //从顶层移到后一层

        public virtual void OnTop(CnPanelObj topview)
        {
        }                                                  //从后层变到顶层
Пример #10
0
        }                                               //移除前调用

        public virtual void OnBehind(CnPanelObj topview)
        {
        }                                                     //从顶层移到后一层
Пример #11
0
 public void DoBring2Top(CnPanelObj view)
 {
     this.OnTop(view);
 }
Пример #12
0
 public bool IsTop(CnPanelObj view)
 {
     return(view == this.GetTopView());
 }