using System.Collections.Generic; using Dalamud.Interface; using Dalamud.Interface.Textures; namespace Dalamud.Plugin.Services; /// /// Interface for class responsible for managing elements in the title screen menu. /// public interface ITitleScreenMenu : IDalamudService { /// /// Gets the list of read only entries in the title screen menu. /// public IReadOnlyList Entries { get; } /// /// Adds a new entry to the title screen menu. /// /// The text to show. /// The texture to show. The texture must be 64x64 or the entry will be removed and an error will be logged. /// The action to execute when the option is selected. /// A object that can be reference the entry. /// Thrown when the texture provided does not match the required resolution(64x64). public IReadOnlyTitleScreenMenuEntry AddEntry(string text, ISharedImmediateTexture texture, Action onTriggered); /// /// Adds a new entry to the title screen menu. /// /// Priority of the entry. /// The text to show. /// The texture to show. The texture must be 64x64 or the entry will be removed and an error will be logged. /// The action to execute when the option is selected. /// A object that can be used to reference the entry. /// Thrown when the texture provided does not match the required resolution(64x64). public IReadOnlyTitleScreenMenuEntry AddEntry(ulong priority, string text, ISharedImmediateTexture texture, Action onTriggered); /// /// Remove an entry from the title screen menu. /// /// The entry to remove. public void RemoveEntry(IReadOnlyTitleScreenMenuEntry entry); }