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;
                }
            }
        }