Пример #1
0
        /// <summary>
        /// Removes all popups from this menu.
        /// </summary>
        /// <param name="afterHidden"></param>
        public void RemoveAllPopups(UnityAction afterHidden)
        {
            // Create a copy to not edit the list while looping through it.
            List <MCMenu> popupMenuCopy = new List <MCMenu>(PopupMenus);

            for (int i = 0; i < popupMenuCopy.Count; i++)
            {
                int currentIndex = i;

                // Hide each popupMenu.
                popupMenuCopy[i].Hide(() =>
                {
                    // Called when this popup menu is closed.
                    PopupMenus.Remove(popupMenuCopy[currentIndex]);

                    if (PopupMenus.Count <= 0)
                    {
                        if (afterHidden != null)
                        {
                            afterHidden();
                        }
                    }
                });
            }
        }
Пример #2
0
 /// <summary>
 /// Remove a specific popup menu.
 /// </summary>
 /// <param name="mcMenu"></param>
 public void RemovePopup(MCMenu mcMenu)
 {
     PopupMenus.Remove(mcMenu);
     mcMenu.Parent = null;
     mcMenu.Hide();
 }