Пример #1
0
        public PopupBase GetPopup(string loadingPopupName)
        {
            if (PopupDic.ContainsKey(loadingPopupName))
            {
                return(PopupDic[loadingPopupName]);
            }

            return(null);
        }
Пример #2
0
        public void ShowPopup(string newPopupName, bool isQueued = false, bool isForceNotOnlyOne = false, float delay = 0.0f)
        {
            if (!IsInitialize())
            {
                PreInit();
            }

            if (!PopupDic.ContainsKey(newPopupName))
            {
                return;
            }

            if (isQueued)
            {
                if (showingPopupStack.Count > 0 || waitingPopupQueue.Count > 0)
                {
                    waitingPopupQueue.Enqueue(newPopupName);
                    return;
                }
            }
            else
            {
                // Overlap is blocked..
                if (showingPopupStack.Contains(newPopupName))
                {
                    return;
                }

                if (IsTransition && ignoreWhileTransition)
                {
                    return;
                }
            }

            if (IsIgnoreShowAllPopup)
            {
                return;
            }

            if (_showingRoutine != null)
            {
                StopCoroutine(_showingRoutine);
                _showingRoutine = null;
            }

            if (newPopupName == "LoadingPopup")
            {
                showingPopupStack.Push("LoadingPopup");
            }

            _showingRoutine = StartCoroutine(ShowPopupRoutine(newPopupName, isForceNotOnlyOne, delay));
        }
Пример #3
0
        public void ShowPopup(string newPopupName, bool isQueued = false)
        {
            if (!IsInitialize())
            {
                PreInit();
            }

            if (!PopupDic.ContainsKey(newPopupName))
            {
                return;
            }

            if (isQueued)
            {
                if (showingPopupStack.Count > 0 || waitingPopupQueue.Count > 0)
                {
                    waitingPopupQueue.Enqueue(newPopupName);
                    return;
                }
            }
            else
            {
                // Overlap is blocked..
                if (showingPopupStack.Contains(newPopupName))
                {
                    return;
                }

                if (IsTransition && ignoreWhileTransition)
                {
                    return;
                }
            }

            if (_showingRoutine != null)
            {
                StopCoroutine(_showingRoutine);
                _showingRoutine = null;
            }

            _showingRoutine = StartCoroutine(ShowPopupRoutine(newPopupName));
        }