/// <summary> /// Gets the button. /// </summary> /// <param name="text">The button text.</param> /// <returns>The button or null if missing.</returns> public MainMenuButton GetButton(string text) { MainMenuButton result = null; for (int i = 0; i < Children.Count; i++) { if (Children[i] is MainMenuButton button && string.Equals(button.Text, text, StringComparison.OrdinalIgnoreCase)) { result = button; break; } } return(result); }
/// <summary> /// Selects the specified button. Used by <see cref="MainMenuButton"/>. /// </summary> /// <param name="button">The button.</param> internal void Select(MainMenuButton button) { // Check if popup menu has been already hidden if (_selected != null && !_selected.ContextMenu.Visible) { _selected = null; } if (_selected != button) { _selected = button; if (_selected != null && _selected.ContextMenu.HasChildren) { _selected.ContextMenu.Show(_selected, new Vector2(0, _selected.Height)); } } else if (_selected != null) { _selected.ContextMenu.Hide(); _selected = null; } }