using System.Collections.Generic; using Dalamud.Game.Gui.NamePlate; namespace Dalamud.Plugin.Services; /// /// Class used to modify the data used when rendering nameplates. /// public interface INamePlateGui { /// /// The delegate used for receiving nameplate update events. /// /// An object containing information about the pending data update. /// A list of handlers used for updating nameplate data. public delegate void OnPlateUpdateDelegate( INamePlateUpdateContext context, IReadOnlyList handlers); /// /// An event which fires when nameplate data is updated and at least one nameplate has important updates. The /// subscriber is provided with a list of handlers for nameplates with important updates. /// event OnPlateUpdateDelegate? OnNamePlateUpdate; /// /// An event which fires when nameplate data is updated. The subscriber is provided with a list of handlers for all /// nameplates. This event is likely to fire every frame even when no nameplates are actually updated, so in most /// cases is preferred. /// event OnPlateUpdateDelegate? OnDataUpdate; /// /// Requests that all nameplates should be redrawn on the following frame. /// void RequestRedraw(); }