Exemple #1
0
        /// <summary>
        /// 显示UI
        /// </summary>
        /// <param name="openParams"></param>
        private void ShowFrameWithParams(OpenUIParams openParams)
        {
            //当UI在预加载中取消预加载
            this.m_preloadUISet.Remove(openParams.UIName);

            ShowAndGetFrameWithParams(openParams);
        }
Exemple #2
0
        /// <summary>
        /// 从别的窗口打开指定的窗口
        /// </summary>
        /// <param name="targetUIName"></param>
        /// <param name="fromFrameName"></param>
        private void ShowFrameByOther(string targetUIName, string fromFrameName)
        {
            GUIFrame     fromFrame   = GetFrame(fromFrameName);
            OpenUIParams openUIParam = new OpenUIParams(targetUIName);

            openUIParam.OpenByFrameName = fromFrameName;

            ShowFrameWithParams(openUIParam);
        }
Exemple #3
0
        private GUIFrame ShowFrameInternal(OpenUIParams openUIParam)
        {
            GUIFrame frame = GetFrame(openUIParam.UIName);

            if (frame == null)
            {
                frame = new GUIFrame(openUIParam);

                frame.OnFrameLoaded             = OnFrameLoaded;
                frame.OnAfterShowFrameEvent     = OnFrameShowFinish;
                frame.OnBeforeFrameDestroyEvent = OnHideFrame;
                frame.OnPostHideFrameEvent      = OnFrameHideFinish;
                frame.OnAfterFrameDestroyEvent  = OnFrameDestroyFinish;

                if (this.m_frameDict.ContainsKey(frame.ResName))
                {
                    Debug.LogError($"frame :{frame.ResName} already loaded");
                }
                else
                {
                    this.m_frameDict.Add(frame.ResName, frame);
                }

                frame.Load();
            }
            else if (frame.IsResOK)
            {
                frame.OpenFrameParam = openUIParam;

                ShowLoadedFrame(frame);

                SeekerGame.GameEvents.UI_Guid_Event.OnOpenUI.SafeInvoke(frame);
            }

            return(frame);
        }
Exemple #4
0
        /// <summary>
        /// 显示UI
        /// </summary>
        /// <param name="openParams"></param>
        /// <returns></returns>
        private GUIFrame ShowAndGetFrameWithParams(OpenUIParams openParams)
        {
            GUIFrame showFrame = ShowFrameInternal(openParams);

            return(showFrame);
        }