2026-07-23 19:47:22 -05:00
|
|
|
using Avalonia.Controls;
|
|
|
|
|
|
2026-07-28 19:06:33 -05:00
|
|
|
namespace LANCommander.Launcher.Plugins.Extensions;
|
2026-07-23 19:47:22 -05:00
|
|
|
|
|
|
|
|
/// <summary>
|
2026-07-28 19:06:33 -05:00
|
|
|
/// Adds items to a game's context menu. Implementations are resolved from DI and their items
|
2026-07-23 19:47:22 -05:00
|
|
|
/// appended to the consolidated game menu shown on covers and list rows.
|
|
|
|
|
/// </summary>
|
2026-07-28 19:06:33 -05:00
|
|
|
public interface IContextMenuExtension
|
2026-07-23 19:47:22 -05:00
|
|
|
{
|
2026-07-28 19:06:33 -05:00
|
|
|
/// <summary>Relative position among extension items; lower values appear first.</summary>
|
2026-07-23 19:47:22 -05:00
|
|
|
int Order { get; }
|
|
|
|
|
|
|
|
|
|
/// <summary>Builds the menu items shown for the given game (typically <see cref="MenuItem"/>s).</summary>
|
|
|
|
|
IEnumerable<Control> BuildMenuItems(Guid gameId);
|
|
|
|
|
}
|