Exemplo n.º 1
0
    public void QueuePopup(EPopupTypes _popupType, PopupData _popupData)
    {
        PopupQueueData newQueue = new PopupQueueData(_popupType, _popupData);

        popupQueue.Enqueue(newQueue);

        TryShowNext();
    }
Exemplo n.º 2
0
    private void TryShowNext()
    {
        if (IsShowingPopup)
        {
            return;
        }
        if (popupQueue.Count == 0)
        {
            return;
        }

        PopupQueueData data = popupQueue.Dequeue();

        if (!popupMap.ContainsKey(data.PopupType))
        {
            TryShowNext();
            return;
        }

        activePopup = popupMap[data.PopupType];
        activePopup.Show(data.PopupData);
    }