/// <summary> /// Queue a popup. /// </summary> /// <param name="popup"></param> public void QueuePopup(UIPopupData popup) { m_PopupStack.Push(popup); if (m_CurrentPopup == null) { ShowNextPopup(); } }
/// <summary> /// /// </summary> /// <param name="popup"></param> public void ShowNextPopup() { // Close any existing popups. ClosePopup(); if (m_PopupStack.Count > 0) { InputManager.Instance.SetInputType("UI"); UIPopupData nextPopup = m_PopupStack.Pop(); m_CurrentPopup = GameObject.Instantiate <UIBasePopup>(m_GenericPopupPrefab, m_PopupCanvas.transform); m_CurrentPopup.SetData(nextPopup); m_CurrentPopup.Initialize(); m_PopupLayer.SetActive(true); } }