ChoiceMenuOption
Class ChoiceMenuOption
Namespace: SwiftlyS2.Core.Menus.OptionsBase
Assembly: SwiftlyS2.CS2.dll
Represents a menu option that cycles through a list of choices.
public sealed class ChoiceMenuOption : MenuOptionBase, IMenuOption, IDisposableInheritance
Implements
Inherited Members
- MenuOptionBase.Dispose()
- MenuOptionBase.PauseTextAnimation()
- MenuOptionBase.ResumeTextAnimation()
- MenuOptionBase.Menu
- MenuOptionBase.LineCount
- MenuOptionBase.BindingText
- MenuOptionBase.Text
- MenuOptionBase.Comment
- MenuOptionBase.MaxWidth
- MenuOptionBase.Visible
- MenuOptionBase.Enabled
- MenuOptionBase.CloseAfterClick
- MenuOptionBase.Tag
- MenuOptionBase.TextSize
- MenuOptionBase.TextStyle
- MenuOptionBase.PlaySound
- MenuOptionBase.VisibilityChanged
- MenuOptionBase.EnabledChanged
- MenuOptionBase.TextChanged
- MenuOptionBase.Validating
- MenuOptionBase.Click
- MenuOptionBase.BeforeFormat
- MenuOptionBase.AfterFormat
- MenuOptionBase.IsClickTaskCompleted(IPlayer)
- MenuOptionBase.GetVisible(IPlayer)
- MenuOptionBase.SetVisible(IPlayer, bool)
- MenuOptionBase.GetEnabled(IPlayer)
- MenuOptionBase.SetEnabled(IPlayer, bool)
- MenuOptionBase.GetDisplayText(IPlayer, int)
- MenuOptionBase.OnValidatingAsync(IPlayer)
- MenuOptionBase.OnClickAsync(IPlayer)
- object.Equals(object?)
- object.Equals(object?, object?)
- object.GetHashCode()
- object.GetType()
- object.ReferenceEquals(object?, object?)
- object.ToString()
Constructors
ChoiceMenuOption(IEnumerable<string>, string?, int, int)
Creates an instance of SwiftlyS2.Core.Menus.OptionsBase.ChoiceMenuOption with a list of choices.
public ChoiceMenuOption(IEnumerable<string> choices, string? defaultChoice = null, int updateIntervalMs = 120, int pauseIntervalMs = 1000)- choices IEnumerable<string> — The list of available choices.
- defaultChoice string? — The default choice to select. If null or not found, defaults to first choice.
- updateIntervalMs int — The interval in milliseconds between text updates. Defaults to 120ms.
- pauseIntervalMs int — The pause duration in milliseconds before starting the next text update cycle. Defaults to 1000ms.
When using this constructor, the SwiftlyS2.Core.Menus.OptionsBase.MenuOptionBase.Text property must be manually set to specify the initial text.
ChoiceMenuOption(string, IEnumerable<string>, string?, int, int)
Creates an instance of SwiftlyS2.Core.Menus.OptionsBase.ChoiceMenuOption with a list of choices.
public ChoiceMenuOption(string text, IEnumerable<string> choices, string? defaultChoice = null, int updateIntervalMs = 120, int pauseIntervalMs = 1000)- text string — The text content to display.
- choices IEnumerable<string> — The list of available choices.
- defaultChoice string? — The default choice to select. If null or not found, defaults to first choice.
- updateIntervalMs int — The interval in milliseconds between text updates. Defaults to 120ms.
- pauseIntervalMs int — The pause duration in milliseconds before starting the next text update cycle. Defaults to 1000ms.
Properties
Choices
Gets the read-only list of available choices.
public IReadOnlyList<string> Choices { get; }Methods
GetDisplayText(IPlayer, int)
Gets the display text for this option as it should appear to the specified player.
public override string GetDisplayText(IPlayer player, int displayLine = 0)- player IPlayer — The player requesting the display text.
- displayLine int — The display line index of the option.
- string — The formatted display text for the option.
- When
LineCount=1: ThedisplayLineparameter is not needed; return the HTML-formatted string directly.displayLine=0: Return all contentdisplayLine=1: Return only the first line contentdisplayLine=2: Return only the second line content- And so on...
GetSelectedChoice(IPlayer)
Gets the currently selected choice for the specified player.
public string GetSelectedChoice(IPlayer player)- player IPlayer — The player whose selected choice to retrieve.
- string — The currently selected choice string.
SetSelectedChoice(IPlayer, string)
Sets the selected choice for the specified player.
public void SetSelectedChoice(IPlayer player, string choice)- player IPlayer — The player whose choice to set.
- choice string — The choice to select. Must exist in the SwiftlyS2.Core.Menus.OptionsBase.ChoiceMenuOption.Choices list.
ValueChanged
Occurs when the selected choice changes for a player.
public event EventHandler<MenuOptionValueChangedEventArgs<string>>? ValueChanged