public void OpenPopup(IUIPopupBase popup) { if (popup == null) { return; } if (popup.Priority < PriorityFilter) { return; } IUIPopupBase popup_base = m_popup_list.Find((IUIPopupBase p) => { return(p == popup); }); if (popup_base != null) { return; } if (m_cur_popup == null || popup.Priority > m_cur_popup.Priority) { if (m_cur_popup != null) { m_cur_popup.Close(false); } m_cur_popup = popup; m_cur_popup.Open(); } else { popup.Close(false); m_cur_popup.Open(); } int index = m_popup_list.FindIndex((IUIPopupBase p) => { return(p.Priority < popup.Priority); }); if (index < 0) { m_popup_list.Add(popup); } else { m_popup_list.Insert(index, popup); } }
public void ClosePopup(IUIPopupBase popup) { if (popup == null) { return; } popup.Close(); m_popup_list.Remove(popup); if (m_cur_popup == popup) { if (m_popup_list.Count > 0) { m_cur_popup = m_popup_list[0]; m_cur_popup.Open(); } else { m_cur_popup = null; } } }