namespace AcDream.Plugin.Abstractions; /// A plugin-safe selection transition matching retail's selected-target callback. public readonly record struct SelectionChangedEvent( uint? PreviousObjectId, uint? SelectedObjectId); /// /// Shared selected-object service. Plugins read and change the same selection /// used by the world, radar, inventory, paperdoll, and toolbar. /// public interface ISelectionService { uint? SelectedObjectId { get; } uint? PreviousObjectId { get; } event Action Changed; bool Select(uint objectId); bool Clear(); }