### Setup Method Source: https://dalamud.dev/api/Dalamud.Game/Classes/BaseAddressResolver Setup the resolver, calling the appropriate method based on the process architecture. ```csharp public void Setup(ISigScanner scanner) ``` -------------------------------- ### SetupInternal Method Source: https://dalamud.dev/api/Dalamud.Game/Classes/BaseAddressResolver Setup the resolver by finding any necessary memory addresses. This is an internal setup method. ```csharp protected virtual void SetupInternal(ISigScanner scanner) ``` -------------------------------- ### Setup(ISigScanner) Source: https://dalamud.dev/api/Dalamud.Game/Classes/BaseAddressResolver Setup the resolver, calling the appropriate method based on the process architecture. ```APIDOC ## Method Setup ### Description Setup the resolver, calling the appropriate method based on the process architecture. ### Declaration ```csharp public void Setup(ISigScanner scanner) ``` ### Parameters #### Path Parameters - **scanner** (Dalamud.Plugin.Services.ISigScanner) - The SigScanner instance. ``` -------------------------------- ### Start Method Source: https://dalamud.dev/api/Dalamud.Interface.Animation/Classes/Easing Initiates the animation. If the animation was previously stopped, it resumes from that point. If never started, it begins from the initial state. ```csharp public void Start() ``` -------------------------------- ### InstalledFromUrl Property Source: https://dalamud.dev/api/Dalamud.Plugin.Internal.Types.Manifest/Interfaces/ILocalPluginManifest Gets the URL of the third-party repository from which the plugin was installed. This is null if the plugin was installed from the main repository. ```csharp string InstalledFromUrl { get; } ``` -------------------------------- ### Basic YAML Plugin Manifest Example Source: https://dalamud.dev/plugin-development/plugin-metadata A simple YAML file for defining plugin metadata. Use snake_case for keys in YAML. This example includes essential fields like name, author, punchline, description, and repository URL. ```yaml name: Test Plugin author: You punchline: Does nothing! # short summary that fits on one line description: |- # long description, shown when your plugin is clicked on This is a test plugin - this first line is a summary. Down here is a more detailed explanation of what the plugin does, manually wrapped to make sure it stays visible in the installer. repo_url: https://example.com # where can users find your plugin's source code? ``` -------------------------------- ### Start UI Glow Effect Source: https://dalamud.dev/api/Dalamud.Game.Text.SeStringHandling/Classes/SeStringBuilder Starts applying a UI glow effect with a specified color to subsequent text. Returns the builder for chaining. ```csharp public SeStringBuilder AddUiGlow(ushort colorKey) ``` -------------------------------- ### PadButton_Start Source: https://dalamud.dev/api/Dalamud.Game.Config/Enums/SystemConfigOption Gamepad button configuration for Start. This option is a String. ```APIDOC ## PadButton_Start ### Description System option with the internal name PadButton_Start. This option is a String. ### Declaration ```csharp [GameConfigOption("PadButton_Start", ConfigType.String, true)] PadButton_Start = 208 ``` ``` -------------------------------- ### Start(string, string, string, int) Source: https://dalamud.dev/api/Dalamud.Utility.Timing/Classes/Timings Starts a new timing operation with a given name and optional metadata about the calling member, source file, and line number. Returns a disposable object that stops the timing when disposed. ```APIDOC ## Start(string, string, string, int) ### Description Start a new timing. ### Method `public static IDisposable Start(string name, string memberName = "", string sourceFilePath = "", int sourceLineNumber = 0)` ### Parameters - **name** (`System.String`) - Required - The name of the timing. - **memberName** (`System.String`) - Optional - Name of the calling member. - **sourceFilePath** (`System.String`) - Optional - Name of the calling file. - **sourceLineNumber** (`System.Int32`) - Optional - Name of the calling line number. ### Returns `System.IDisposable`: Disposable that stops the timing once disposed. ``` -------------------------------- ### Start UI Foreground Color Source: https://dalamud.dev/api/Dalamud.Game.Text.SeStringHandling/Classes/SeStringBuilder Starts applying a UI foreground color to subsequent text. Returns the builder for chaining. ```csharp public SeStringBuilder AddUiForeground(ushort colorKey) ``` -------------------------------- ### BROWSER_HOME Source: https://dalamud.dev/api/Dalamud.Game.ClientState.Keys/Enums/VirtualKey Represents the Browser Start and Home key. ```APIDOC ## BROWSER_HOME ### Description Browser Start and Home key. ### Declaration ``` BROWSER_HOME = 172 ``` ``` -------------------------------- ### WorkingPluginId Property Source: https://dalamud.dev/api/Dalamud.Plugin.Internal.Types.Manifest/Interfaces/ILocalPluginManifest Gets a unique identifier for this specific installation of the plugin. ```csharp Guid WorkingPluginId { get; } ``` -------------------------------- ### Race Property Source: https://dalamud.dev/api/Dalamud.Game.ClientState.Customize/Interfaces/ICustomizeData Gets the current race of the character. Examples include Miqo'te and Aura. ```csharp byte Race { get; } ``` -------------------------------- ### Setup64Bit Method Source: https://dalamud.dev/api/Dalamud.Game/Classes/BaseAddressResolver Setup the resolver by finding any necessary memory addresses for 64-bit processes. ```csharp protected virtual void Setup64Bit(ISigScanner scanner) ``` -------------------------------- ### AddonSetupArgs AtkValueCount Property Source: https://dalamud.dev/api/Dalamud.Game.Addon.Lifecycle.AddonArgTypes/Classes/AddonSetupArgs Gets or sets the number of AtkValues associated with the addon setup arguments. ```csharp public uint AtkValueCount { get; set; } ``` -------------------------------- ### OpenPluginInstallerTo Method Source: https://dalamud.dev/api/Dalamud.Plugin/Interfaces/IDalamudPluginInterface Opens the plugin installer window with an optional search term. Returns false if the DalamudInterface is null. ```csharp bool OpenPluginInstallerTo(PluginInstallerOpenKind openTo = PluginInstallerOpenKind.AllPlugins, string? searchText = null) ``` -------------------------------- ### AddonSetupArgs AtkValues Property Source: https://dalamud.dev/api/Dalamud.Game.Addon.Lifecycle.AddonArgTypes/Classes/AddonSetupArgs Gets or sets the memory address of the AtkValue array for the addon setup arguments. ```csharp public nint AtkValues { get; set; } ``` -------------------------------- ### Tribe Property Source: https://dalamud.dev/api/Dalamud.Game.ClientState.Customize/Interfaces/ICustomizeData Gets the current tribe of the character. Examples include Seeker of the Sun and Keeper of the Moon. ```csharp byte Tribe { get; } ``` -------------------------------- ### Registering and Handling Addon Events Source: https://dalamud.dev/plugin-development/how-tos/AddonEventManager Example of registering event listeners for addon setup and handling mouse events on a specific node to display tooltips. ```csharp // Register listener for MonsterNote setup AddonLifecycle.RegisterListener(AddonEvent.PostSetup, "MonsterNote", OnPostSetup); // PostSetup for MonsterNode provided by AddonLifecycle private void OnPostSetup(AddonEvent type, AddonArgs args) { var addon = (AtkUnitBase*) args.Addon; var targetNode = addon->GetNodeById(22); targetNode->NodeFlags |= NodeFlags.EmitsEvents | NodeFlags.RespondToMouse | NodeFlags.HasCollision; EventManager.AddEvent((nint) addon, (nint) targetNode, AddonEventType.MouseOver, TooltipHandler); EventManager.AddEvent((nint) addon, (nint) targetNode, AddonEventType.MouseOut, TooltipHandler); } private void TooltipHandler(AddonEventType type, IntPtr addon, IntPtr node) { var addonId = ((AtkUnitBase*) addon)->ID; switch (type) { case AddonEventType.MouseOver: AtkStage.GetSingleton()->TooltipManager.ShowTooltip(addonId, (AtkResNode*)node, "This is a tooltip."); break; case AddonEventType.MouseOut: AtkStage.GetSingleton()->TooltipManager.HideTooltip(addonId); break; } } ``` -------------------------------- ### EntryPoint.InitDelegate Source: https://dalamud.dev/api/Dalamud/Delegates/EntryPoint.InitDelegate A delegate used during initialization of the CLR from Dalamud.Boot. ```APIDOC ## Delegate EntryPoint.InitDelegate A delegate used during initialization of the CLR from Dalamud.Boot. **Assembly**: Dalamud.dll ### Declaration ```csharp public delegate void EntryPoint.InitDelegate(nint infoPtr, nint mainThreadContinueEvent) ``` ``` -------------------------------- ### GamepadButtons Start Source: https://dalamud.dev/api/Dalamud.Game.ClientState.GamePad/Enums/GamepadButtons Represents the Start button (Options on PlayStation, Start on Xbox). Use this in bitwise checks. ```csharp Start = 32768 ``` -------------------------------- ### PluginLoadReason Installer Field Source: https://dalamud.dev/api/Dalamud.Plugin/Enums/PluginLoadReason Indicates that the plugin was loaded because it was installed via the plugin installer. This is useful for tracking installation-related events. ```csharp Installer = 2 ``` -------------------------------- ### Help Source: https://dalamud.dev/api/Dalamud.Game.Config/Enums/UiConfigOption UI configuration option for Help. This option is a UInt. ```APIDOC ## Help ### Description UI configuration option with the internal name Help. This option is a UInt. ### Declaration ```csharp [GameConfigOption("Help", ConfigType.UInt, true)] Help = 300 ``` ``` -------------------------------- ### Restart Method Source: https://dalamud.dev/api/Dalamud.Interface.Animation/Classes/Easing Resets the animation to its beginning and starts it immediately. ```csharp public void Restart() ``` -------------------------------- ### HowTo Configuration Source: https://dalamud.dev/api/Dalamud.Game.Config/Enums/UiControlOption Defines the UI control option for 'HowTo', a UInt type. This option is likely related to displaying or controlling 'How To' guides or tutorials. ```csharp [GameConfigOption("HowTo", ConfigType.UInt, true)] HowTo = 135 ``` -------------------------------- ### GameFontLayoutPlan.Builder.Build Method Source: https://dalamud.dev/api/Dalamud.Interface.GameFonts/Classes/GameFontLayoutPlan.Builder Builds and returns the configured GameFontLayoutPlan object. ```csharp public GameFontLayoutPlan Build() ``` -------------------------------- ### Get Return Summon Glamour Source: https://dalamud.dev/api/Dalamud.Game.ClientState.JobGauge.Types/Classes/SMNGauge Gets the summon glamour for the SMNGauge.ReturnSummon. This maps to the Lumina.Excel.Sheets.PetMirage sheet. ```csharp public PetGlam ReturnSummonGlam { get; } ``` -------------------------------- ### ProfileModelV1.ProfileStartupPolicy Source: https://dalamud.dev/api/Dalamud.Plugin.Internal.Profiles Defines the possible startup policies for a profile, controlling how plugins are launched. ```APIDOC ## Enum: ProfileModelV1.ProfileStartupPolicy ### Description Enum representing the startup policy of a profile. ### Members - **Default**: The default startup policy. - **EnableForCharacters**: Plugins are enabled on a per-character basis. - **AlwaysEnabled**: Plugins are always enabled. - **AlwaysDisabled**: Plugins are always disabled. ``` -------------------------------- ### Reset Method Source: https://dalamud.dev/api/Dalamud.Interface.Animation/Classes/Easing Resets the animation's state without starting it. This prepares the animation to be started from the beginning. ```csharp public void Reset() ``` -------------------------------- ### IKeyState Source: https://dalamud.dev/api/Dalamud.Plugin.Services Wrapper around the game keystate buffer. ```APIDOC ## Interface: IKeyState ### Description Wrapper around the game keystate buffer, which contains the pressed state for all keyboard keys, indexed by virtual vkCode. ### Usage Check the state of individual keyboard keys for input handling. ``` -------------------------------- ### Get Inventory Items Source: https://dalamud.dev/api/Dalamud.Plugin.Services/Interfaces/IGameInventory Retrieves all item slots for a specified inventory type. Use this to get a snapshot of your inventory. ```csharp ReadOnlySpan GetInventoryItems(GameInventoryType type) ``` -------------------------------- ### ImGuiBuildUiDelegate Source: https://dalamud.dev/api/Dalamud.Interface.ImGuiBackend.Delegates/Delegates/ImGuiBuildUiDelegate Delegate to be called when ImGui should be used to layout now. ```APIDOC ## Delegate ImGuiBuildUiDelegate Delegate to be called when ImGui should be used to layout now. **Assembly**: Dalamud.dll ### Declaration ```csharp public delegate void ImGuiBuildUiDelegate() ``` ### Methods #### Invoke() Declaration: ```csharp public virtual void Invoke() ``` #### BeginInvoke(AsyncCallback, object) Declaration: ```csharp public virtual IAsyncResult BeginInvoke(AsyncCallback callback, object @object) ``` ##### Returns `System.IAsyncResult` ##### Parameters Type| Name ---|--- `System.AsyncCallback`| _callback_ `System.Object`| _object_ #### EndInvoke(IAsyncResult) Declaration: ```csharp public virtual void EndInvoke(IAsyncResult result) ``` ##### Parameters Type| Name ---|--- `System.IAsyncResult`| _result_ ``` -------------------------------- ### WindowHost Class Source: https://dalamud.dev/api/Dalamud.Interface.Windowing/Classes/WindowHost Provides a base class for creating ImGui windows compatible with Dalamud's WindowSystem. ```APIDOC ## Class WindowHost Base class you can use to implement an ImGui window for use with the built-in Dalamud.Interface.Windowing.WindowSystem. **Assembly**: Dalamud.dll ### Declaration ```csharp public class WindowHost ``` ### Properties #### Window Gets or sets the backing window provided by the plugin. **Declaration** ```csharp public IWindow Window { get; set; } ``` ``` -------------------------------- ### Get Return Summon Source: https://dalamud.dev/api/Dalamud.Game.ClientState.JobGauge.Types/Classes/SMNGauge Gets the summon that will become available after the current summon expires. This maps to the Lumina.Excel.Sheets.Pet sheet. ```csharp public SummonPet ReturnSummon { get; } ``` -------------------------------- ### FirstConfigBackup Source: https://dalamud.dev/api/Dalamud.Game.Config/Enums/SystemConfigOption System option for the first configuration backup. It is a UInt. ```APIDOC ## FirstConfigBackup ### Description System option with the internal name FirstConfigBackup. This option is a UInt. ### Declaration ```csharp [GameConfigOption("FirstConfigBackup", ConfigType.UInt, true)] FirstConfigBackup = 157 ``` ``` -------------------------------- ### Draw Method Source: https://dalamud.dev/api/Dalamud.Interface.Windowing/Interfaces/IWindowSystem Renders all currently registered windows using ImGui. ```csharp void Draw() ``` ``` -------------------------------- ### Get Attunement Amount Source: https://dalamud.dev/api/Dalamud.Game.ClientState.JobGauge.Types/Classes/SMNGauge Gets the amount of aspected Attunement remaining. As of 7.01, this should be treated as a bit field and used with AttunementCount and AttunementType. ```csharp public byte Attunement { get; } ``` -------------------------------- ### SeString Renderer Usage Source: https://dalamud.dev/versions/v11 Demonstrates how to use the new SeString renderer to reproduce in-game string rendering within ImGui. ```APIDOC ## SeString Renderer A new SeString renderer was added that reproduces in-game string rendering within ImGui. ### Usage To use it, call `ImGuiHelpers.SeStringWrapped` with a `ReadOnlySeString`, or `ImGuiHelpers.CompileSeStringWrapped` with a macro string. ``` -------------------------------- ### ImRaii.TooltipDisposable Source: https://dalamud.dev/api/Dalamud.Interface.Utility.Raii A RAII wrapper for managing ImGui tooltip states. ```APIDOC ## Struct ImRaii.TooltipDisposable A wrapper around ImGui tooltips. ``` -------------------------------- ### Setup UI Culture with System Settings Source: https://dalamud.dev/api/Dalamud/Classes/Localization Configures the UI language to match the user's local system UI culture. ```csharp public void SetupWithUiCulture() ``` -------------------------------- ### TakeBeforeImGuiRender Property Source: https://dalamud.dev/api/Dalamud.Interface.Textures/Structs/ImGuiViewportTextureArgs Gets or sets a value indicating whether to get the texture before rendering ImGui. This is likely only useful when targeting the main viewport. ```csharp public bool TakeBeforeImGuiRender { readonly get; set; } ``` -------------------------------- ### Test() Source: https://dalamud.dev/api/Dalamud.Interface.Components/Classes/ImGuiComponents Test component to demonstrate how ImGui components work. ```APIDOC ## Test() ### Description Test component to demonstrate how ImGui components work. ### Returns - **void** ``` -------------------------------- ### Get All Font Awesome Icons Source: https://dalamud.dev/api/Dalamud.Interface/Classes/FontAwesomeHelpers Retrieves a list of all non-obsolete Font Awesome icons. Use this to get a complete collection of available icons. ```csharp public static List GetIcons() ``` -------------------------------- ### Start a New Timing Source: https://dalamud.dev/api/Dalamud.Utility.Timing/Classes/Timings Starts a new timing measurement. Returns a disposable object that stops the timing when disposed. Useful for measuring blocks of code. ```csharp public static IDisposable Start(string name, string memberName = "", string sourceFilePath = "", int sourceLineNumber = 0) ``` -------------------------------- ### HowTo Source: https://dalamud.dev/api/Dalamud.Game.Config/Enums/UiControlOption Represents the UI control option for 'HowTo'. This option is of type UInt and is related to in-game help or tutorial displays. ```APIDOC ## HowTo ### Description UiControl option with the internal name HowTo. This option is a UInt. ### Declaration ```csharp [GameConfigOption("HowTo", ConfigType.UInt, true)] HowTo = 135 ``` ``` -------------------------------- ### PadButton_Start Configuration Source: https://dalamud.dev/api/Dalamud.Game.Config/Enums/SystemConfigOption Represents the 'PadButton_Start' system configuration option, which is of type String. ```csharp [GameConfigOption("PadButton_Start", ConfigType.String, true)] PadButton_Start = 208 ``` -------------------------------- ### ToClientLanguage Source: https://dalamud.dev/api/Dalamud.Utility/Classes/ClientLanguageExtensions Gets the ClientLanguage from a language code. ```APIDOC ## ToClientLanguage(string) ### Description Gets the ClientLanguage from a language code. ### Method `public static ClientLanguage ToClientLanguage(this string value)` ### Parameters - **value** (System.String) - Description: The language code to convert (ja, en, de, fr). ### Returns `Dalamud.Game.ClientLanguage`: The ClientLanguage. ### Exceptions - `System.ArgumentOutOfRangeException`: An exception that is thrown when no valid language code was given. ``` -------------------------------- ### Use ImRaii Tooltip in C# Source: https://dalamud.dev/versions/v15 Demonstrates how to use the ImRaii.Tooltip context manager to display a tooltip with text and an image. Ensure all resources are properly disposed. ```csharp using (ImRaii.Tooltip()) { ImGui.Text("Some text for the tooltip"); ImGui.Image(image.Handle, image.Size) ImGui.Text("Final words before tooltip is ended"); } ``` -------------------------------- ### WindowHost Class Source: https://dalamud.dev/api/Dalamud.Interface.Windowing Base class for implementing ImGui windows within the WindowSystem. ```APIDOC ## Class: WindowHost ### Description Base class you can use to implement an ImGui window for use with the built-in Dalamud.Interface.Windowing.WindowSystem. ``` -------------------------------- ### ToCode Source: https://dalamud.dev/api/Dalamud.Utility/Classes/ClientLanguageExtensions Gets the language code from a ClientLanguage. ```APIDOC ## ToCode(ClientLanguage) ### Description Gets the language code from a ClientLanguage. ### Method `public static string ToCode(this ClientLanguage value)` ### Parameters - **value** (Dalamud.Game.ClientLanguage) - Description: The ClientLanguage to convert. ### Returns `System.String`: The language code (ja, en, de, fr). ### Exceptions - `System.ArgumentOutOfRangeException`: An exception that is thrown when no valid ClientLanguage was given. ``` -------------------------------- ### WindowSystem Class Source: https://dalamud.dev/api/Dalamud.Interface.Windowing Manages ImGui windows within the Dalamud interface. ```APIDOC ## Class: WindowSystem ### Description Manages a collection of ImGui windows. ``` -------------------------------- ### ClientLanguage Source: https://dalamud.dev/api/Dalamud.Plugin.Services/Interfaces/IClientState Gets the language of the game client. ```APIDOC ## Property ClientLanguage ### Description Gets the language of the client. ### Type ClientLanguage ``` -------------------------------- ### IToastGui Source: https://dalamud.dev/api/Dalamud.Plugin.Services Facilitates interacting with and creating native toast windows. ```APIDOC ## Interface: IToastGui ### Description This class facilitates interacting with and creating native toast windows, allowing plugins to display temporary notifications to the user. ### Usage Display custom toast notifications for important events or alerts. ``` -------------------------------- ### IFontFamilyId.ListSystemFonts Source: https://dalamud.dev/api/Dalamud.Interface.FontIdentifier/Interfaces/IFontFamilyId Gets the list of System-provided fonts. ```APIDOC ## IFontFamilyId.ListSystemFonts(bool) ### Description Gets the list of System-provided fonts. ### Declaration ```csharp public static List ListSystemFonts(bool refresh) ``` ### Parameters #### Path Parameters - **refresh** (System.Boolean) - Required - If `true`, try to refresh the list. ### Returns `System.Collections.Generic.List`: The list of fonts. ``` -------------------------------- ### IFontFamilyId.ListGameFonts Source: https://dalamud.dev/api/Dalamud.Interface.FontIdentifier/Interfaces/IFontFamilyId Gets the list of Game-provided fonts. ```APIDOC ## IFontFamilyId.ListGameFonts() ### Description Gets the list of Game-provided fonts. ### Declaration ```csharp public static List ListGameFonts() ``` ### Returns `System.Collections.Generic.List`: The list of fonts. ``` -------------------------------- ### Example Dalamud Plugin Project Directory Layout Source: https://dalamud.dev/plugin-development/project-layout Illustrates a typical directory structure for a Dalamud plugin project, including the main plugin folder, C# project file, manifest file, and source code. ```plaintext MySolution |- MyPlugin | |- MyPlugin.csproj | |- MyPlugin.json | |- packages.lock.json | |- Plugin.cs |- MySolution.sln ``` -------------------------------- ### IFontFamilyId.ListDalamudFonts Source: https://dalamud.dev/api/Dalamud.Interface.FontIdentifier/Interfaces/IFontFamilyId Gets the list of Dalamud-provided fonts. ```APIDOC ## IFontFamilyId.ListDalamudFonts() ### Description Gets the list of Dalamud-provided fonts. ### Declaration ```csharp public static List ListDalamudFonts() ``` ### Returns `System.Collections.Generic.List`: The list of fonts. ``` -------------------------------- ### IFontFamilyId.Fonts Source: https://dalamud.dev/api/Dalamud.Interface.FontIdentifier/Interfaces/IFontFamilyId Gets the list of fonts under this family. ```APIDOC ## IFontFamilyId.Fonts ### Description Gets the list of fonts under this family. ### Declaration ```csharp [JsonIgnore] IReadOnlyList Fonts { get; } ``` ``` -------------------------------- ### ImRaii.StyleDisposable Source: https://dalamud.dev/api/Dalamud.Interface.Utility.Raii A RAII wrapper for managing ImGui style states. ```APIDOC ## Class ImRaii.StyleDisposable A wrapper around style pushing. ``` -------------------------------- ### FontAtlas Source: https://dalamud.dev/api/Dalamud.Interface/Classes/UiBuilder Gets the plugin-private font atlas. ```APIDOC ## FontAtlas ### Description Gets the plugin-private font atlas. ### Declaration ```csharp public IFontAtlas FontAtlas { get; } ``` ``` -------------------------------- ### AtkUnitBasePtr Methods Source: https://dalamud.dev/api/Dalamud.Game.NativeWrapper/Structs/AtkUnitBasePtr Includes methods for focusing the unit and comparing instances. ```APIDOC ## Methods ### Focus() Focuses the AtkUnitBase. ```csharp public void Focus() ``` ### Equals(AtkUnitBasePtr) Determines whether the specified AtkUnitBasePtr is equal to the current AtkUnitBasePtr. ```csharp public bool Equals(AtkUnitBasePtr other) ``` ##### Returns `System.Boolean`: `true` if the specified AtkUnitBasePtr is equal to the current AtkUnitBasePtr; otherwise, `false`. ##### Parameters Type| Name| Description ---|---|--- Dalamud.Game.NativeWrapper.AtkUnitBasePtr| _other_| The AtkUnitBasePtr to compare with the current AtkUnitBasePtr. ### Equals(object) ```csharp public override bool Equals(object obj) ``` ##### Returns `System.Boolean` ##### Parameters Type| Name ---|--- `System.Object`| _obj_ ``` -------------------------------- ### ZoneInit Event Source: https://dalamud.dev/api/Dalamud.Plugin.Services/Interfaces/IClientState Event that gets fired when the game initializes a zone. ```APIDOC ## Event ZoneInit ### Description Event that gets fired when the game initializes a zone. ### Event Type `System.Action` ``` -------------------------------- ### AtkUnitBasePtr Y Property Source: https://dalamud.dev/api/Dalamud.Game.NativeWrapper/Structs/AtkUnitBasePtr Gets the y-position of the AtkUnitBase. ```csharp public short Y { get; } ``` -------------------------------- ### MarketBoardPurchaseHandler.TotalTax Property Source: https://dalamud.dev/api/Dalamud.Game.Network.Structures/Classes/MarketBoardPurchaseHandler Gets the total tax. ```csharp public uint TotalTax { get; } ``` -------------------------------- ### Evaluate HeadAll Macro with SeStringBuilder Source: https://dalamud.dev/plugin-development/sestring Demonstrates how to use SeStringBuilder to create a SeString with the HeadAll macro and then evaluate it. ```csharp var example = new SeStringBuilder() .BeginMacro(MacroCode.HeadAll) .AppendStringExpression("the great gubal library") .EndMacro() .ToReadOnlySeString(); var result = SeStringEvaluator.Evaluate(example); ``` -------------------------------- ### Name Property Source: https://dalamud.dev/api/Dalamud.Game.ClientState.Objects.Types/Interfaces/IGameObject Gets the name of the GameObject. ```csharp SeString Name { get; } ``` -------------------------------- ### Dalamud Injector Help Source: https://dalamud.dev/building View all available arguments for the Dalamud injector by running the help command. ```bash .\Dalamud.Injector.exe help ``` -------------------------------- ### BuildExact Method Source: https://dalamud.dev/api/Dalamud.Interface.ManagedFontAtlas/Structs/FluentGlyphRangeBuilder Builds the accumulated data into an ImGui glyph range, exactly as specified, without adding any default codepoints. ```APIDOC ## BuildExact() ### Description Builds the accumulated data into an ImGui glyph range, exactly as specified. ### Method Signature public ushort[] BuildExact() ### Returns `System.UInt16[]`: The built ImGui glyph ranges. ``` -------------------------------- ### IDutyState.DutyStartedDelegate Source: https://dalamud.dev/api/Dalamud.Plugin.Services Delegate type for duty started events. ```APIDOC ## IDutyState.DutyStartedDelegate ### Description A delegate type used for the Dalamud.Plugin.Services.IDutyState.DutyStarted event. ### Type Delegate ``` -------------------------------- ### ImRaii.ColorDisposable Source: https://dalamud.dev/api/Dalamud.Interface.Utility.Raii A RAII wrapper for managing ImGui color states. ```APIDOC ## Class ImRaii.ColorDisposable A RAII wrapper for managing ImGui color states. ``` -------------------------------- ### Initialize Dalamud Services via Static Variables Source: https://dalamud.dev/faq/development Initialize Dalamud services using static variables and the 'PluginService' attribute. The 'Dalamud.Initialize' method must be called with the plugin interface. ```csharp public class Dalamud { public static void Initialize(DalamudPluginInterface pluginInterface) => pluginInterface.Create(); [PluginService] [RequiredVersion("1.0")] public static DalamudPluginInterface PluginInterface { get; private set; } = null!; [PluginService] [RequiredVersion("1.0")] public static CommandManager Commands { get; private set; } = null!; } public Plugin(DalamudPluginInterface pluginInterface) { Dalamud.Initialize(pluginInterface); } ``` -------------------------------- ### MapId Source: https://dalamud.dev/api/Dalamud.Plugin.Services/Interfaces/IClientState Gets the current Map the player resides in. ```APIDOC ## Property MapId ### Description Gets the current Map the player resides in. ### Type uint ``` -------------------------------- ### Methods Source: https://dalamud.dev/api/Dalamud.Interface/Interfaces/IUiBuilder Methods for loading UI assets and managing UI state. ```APIDOC ## LoadUld(string) ### Description Loads an ULD file that can load textures containing multiple icons in a single texture. ### Declaration ```csharp UldWrapper LoadUld(string uldPath) ``` ### Parameters | Type | Name | Description | |---|---|---| | `System.String` | _uldPath_ | The path of the requested ULD file. | ### Returns Dalamud.Interface.UldWrapper: A wrapper around said ULD file. ``` ```APIDOC ## WaitForUi() ### Description Waits for UI to become available for use. ### Declaration ```csharp Task WaitForUi() ``` ### Returns `System.Threading.Tasks.Task`: A task that completes when the game's Present has been called at least once. ``` ```APIDOC ## RunWhenUiPrepared(Func, bool) ### Description Waits for UI to become available for use. ### Declaration ```csharp Task RunWhenUiPrepared(Func func, bool runInFrameworkThread = false) ``` ### Parameters | Type | Name | Description | |---|---|---| | `System.Func` | _func_ | Function to call. | | `System.Boolean` | _runInFrameworkThread_ | Specifies whether to call the function from the framework thread. | ### Type Parameters | Name | Description | |---|---| | `T` | Return type. | ### Returns `System.Threading.Tasks.Task`: A task that completes when the game's Present has been called at least once. ``` ```APIDOC ## RunWhenUiPrepared(Func>, bool) ### Description Waits for UI to become available for use. ### Declaration ```csharp Task RunWhenUiPrepared(Func> func, bool runInFrameworkThread = false) ``` ### Parameters | Type | Name | Description | |---|---|---| | `System.Func>` | _func_ | Function to call. | | `System.Boolean` | _runInFrameworkThread_ | Specifies whether to call the function from the framework thread. | ### Type Parameters | Name | Description | |---|---| | `T` | Return type. | ### Returns `System.Threading.Tasks.Task`: A task that completes when the game's Present has been called at least once. ``` ```APIDOC ## CreateFontAtlas(FontAtlasAutoRebuildMode, bool, string?) ### Description Creates an isolated Dalamud.Interface.ManagedFontAtlas.IFontAtlas. ### Declaration ```csharp IFontAtlas CreateFontAtlas(FontAtlasAutoRebuildMode autoRebuildMode, bool isGlobalScaled = true, string? debugName = null) ``` ### Parameters | Type | Name | Description | |---|---|---| | `Dalamud.Interface.ManagedFontAtlas.FontAtlasAutoRebuildMode` | _autoRebuildMode_ | Specify when and how to rebuild this atlas. | | `System.Boolean` | _isGlobalScaled_ | Whether the fonts in the atlas is global scaled. | | `System.String` | _debugName_ | Name for debugging purposes. | ### Remarks Use this to create extra font atlases, if you want to create and dispose fonts without having to rebuild all other fonts together. If autoRebuildMode is not Dalamud.Interface.ManagedFontAtlas.FontAtlasAutoRebuildMode.OnNewFrame, the font rebuilding functions must be called manually. ### Returns Dalamud.Interface.ManagedFontAtlas.IFontAtlas: A new instance of Dalamud.Interface.ManagedFontAtlas.IFontAtlas. ``` -------------------------------- ### TerritoryType Source: https://dalamud.dev/api/Dalamud.Plugin.Services/Interfaces/IClientState Gets the current Territory the player resides in. ```APIDOC ## Property TerritoryType ### Description Gets the current Territory the player resides in. ### Type uint ``` -------------------------------- ### GameFontLayoutPlan.Builder.WithSize Method Source: https://dalamud.dev/api/Dalamud.Interface.GameFonts/Classes/GameFontLayoutPlan.Builder Sets the size of the resulting text in pixels. Returns the builder instance for chaining. ```csharp public GameFontLayoutPlan.Builder WithSize(float size) ``` -------------------------------- ### GetPluginLocDirectory Source: https://dalamud.dev/api/Dalamud.Plugin/Interfaces/IDalamudPluginInterface Gets the directory for plugin localization files. ```APIDOC ## GetPluginLocDirectory() ### Description Get the loc directory. ### Returns System.String: directory with path of AppData/XIVLauncher/pluginConfig/PluginInternalName/loc. ``` -------------------------------- ### Initialize Dalamud System Source: https://dalamud.dev/api/Dalamud/Classes/EntryPoint Initializes the Dalamud system. This method requires pointers to Dalamud start information and a main thread continue event. ```csharp public static void Initialize(nint infoPtr, nint mainThreadContinueEvent) ``` -------------------------------- ### GetPluginConfigDirectory Source: https://dalamud.dev/api/Dalamud.Plugin/Interfaces/IDalamudPluginInterface Gets the directory where plugin configurations are stored. ```APIDOC ## GetPluginConfigDirectory() ### Description Get the config directory. ### Returns System.String: directory with path of AppData/XIVLauncher/pluginConfig/PluginInternalName. ``` -------------------------------- ### UIntConfigProperties Methods Source: https://dalamud.dev/api/Dalamud.Game.Config/Classes/UIntConfigProperties Includes methods for string representation, equality comparison, and deconstruction of UIntConfigProperties. ```APIDOC ## Methods ### ToString() Converts the UIntConfigProperties object to its string representation. ```csharp public override string ToString() ``` ##### Returns `System.String` ### PrintMembers(StringBuilder) Prints the members of the UIntConfigProperties object to a StringBuilder. ```csharp protected virtual bool PrintMembers(StringBuilder builder) ``` ##### Parameters Type| Name ---|--- `System.Text.StringBuilder`| _builder_ ##### Returns `System.Boolean` ### GetHashCode() Gets the hash code for the UIntConfigProperties object. ```csharp public override int GetHashCode() ``` ##### Returns `System.Int32` ### Equals(object?) Determines whether the specified object is equal to the current object. ```csharp public override bool Equals(object? obj) ``` ##### Parameters Type| Name ---|--- `System.Object`| _obj_ ##### Returns `System.Boolean` ### Equals(UIntConfigProperties?) Determines whether the specified UIntConfigProperties object is equal to the current object. ```csharp public virtual bool Equals(UIntConfigProperties? other) ``` ##### Parameters Type| Name ---|--- Dalamud.Game.Config.UIntConfigProperties| _other_ ##### Returns `System.Boolean` ### Deconstruct(out uint, out uint, out uint) Deconstructs the UIntConfigProperties object into its default, minimum, and maximum values. ```csharp public void Deconstruct(out uint Default, out uint Minimum, out uint Maximum) ``` ##### Parameters Type| Name ---|--- `System.UInt32`| _Default_ `System.UInt32`| _Minimum_ `System.UInt32`| _Maximum_ ``` -------------------------------- ### ForwardingTextureWrap Height Property Source: https://dalamud.dev/api/Dalamud.Interface.Textures.TextureWraps/Classes/ForwardingTextureWrap Gets the height of the texture. ```csharp public int Height { get; } ``` -------------------------------- ### ForwardingTextureWrap Width Property Source: https://dalamud.dev/api/Dalamud.Interface.Textures.TextureWraps/Classes/ForwardingTextureWrap Gets the width of the texture. ```csharp public int Width { get; } ``` -------------------------------- ### EntryPoint.InitDelegate Signature Source: https://dalamud.dev/api/Dalamud/Delegates/EntryPoint.InitDelegate Defines the signature for the delegate used during CLR initialization from Dalamud.Boot. It takes two IntPtr parameters. ```csharp public delegate void EntryPoint.InitDelegate(nint infoPtr, nint mainThreadContinueEvent) ``` -------------------------------- ### FirstConfigBackup System Config Option Source: https://dalamud.dev/api/Dalamud.Game.Config/Enums/SystemConfigOption Represents the FirstConfigBackup system option, which is of type UInt. This option is related to the first configuration backup. ```csharp [GameConfigOption("FirstConfigBackup", ConfigType.UInt, true)] FirstConfigBackup = 157 ``` -------------------------------- ### AtkUnitBasePtr Height Property Source: https://dalamud.dev/api/Dalamud.Game.NativeWrapper/Structs/AtkUnitBasePtr Gets the height of the AtkUnitBase. ```csharp public float Height { get; } ``` -------------------------------- ### AtkUnitBasePtr Width Property Source: https://dalamud.dev/api/Dalamud.Game.NativeWrapper/Structs/AtkUnitBasePtr Gets the width of the AtkUnitBase. ```csharp public float Width { get; } ``` -------------------------------- ### ImRaii.MainMenuBarDisposable Source: https://dalamud.dev/api/Dalamud.Interface.Utility.Raii A RAII wrapper for ImGui main menu bars. ```APIDOC ## Struct ImRaii.MainMenuBarDisposable A wrapper around ImGui main menu bars. ``` -------------------------------- ### AtkUnitBasePtr X Property Source: https://dalamud.dev/api/Dalamud.Game.NativeWrapper/Structs/AtkUnitBasePtr Gets the x-position of the AtkUnitBase. ```csharp public short X { get; } ``` -------------------------------- ### FocusAddon Method Source: https://dalamud.dev/api/Dalamud.Game.NativeWrapper/Structs/AgentInterfacePtr Attempts to focus the associated AtkUnitBase. Returns true if successful, false otherwise. ```csharp public bool FocusAddon() ``` -------------------------------- ### Setup UI Culture with Fallbacks Source: https://dalamud.dev/api/Dalamud/Classes/Localization Sets the UI language to use the original English text as fallbacks. ```csharp public void SetupWithFallbacks() ``` -------------------------------- ### AtkUnitBasePtr Scale Property Source: https://dalamud.dev/api/Dalamud.Game.NativeWrapper/Structs/AtkUnitBasePtr Gets the scale of the AtkUnitBase. ```csharp public float Scale { get; } ``` -------------------------------- ### MarketBoardPurchaseHandler.PricePerUnit Property Source: https://dalamud.dev/api/Dalamud.Game.Network.Structures/Classes/MarketBoardPurchaseHandler Gets the unit price of the item. ```csharp public uint PricePerUnit { get; } ``` -------------------------------- ### Run(Action, CancellationToken) Source: https://dalamud.dev/api/Dalamud.Plugin.Services/Interfaces/IFramework Runs a given function immediately if called from the game's Framework.Update thread, or on the next Framework.Update call otherwise. Starting new tasks and waiting on them synchronously from this callback will completely lock up the game. Use `await` if you need to wait on something from an `async` callback. ```APIDOC ### Run(Action, CancellationToken) Run given function right away if this function has been called from game's Framework.Update thread, or otherwise run on next Framework.Update call. ```csharp Task Run(Action action, CancellationToken cancellationToken = default) ``` ##### Returns `System.Threading.Tasks.Task`: Task representing the pending or already completed function. ##### Parameters Type| Name| Description ---|---|--- `System.Action`| _action_| Function to call. `System.Threading.CancellationToken`| _cancellationToken_| The cancellation token. ##### Remarks

Starting new tasks and waiting on them synchronously from this callback will completely lock up the game. Use await if you need to wait on something from an async callback.

See the remarks on Dalamud.Plugin.Services.IFramework if you need to choose which one to use, between Run and RunOnFrameworkThread. Note that RunOnTick is a fancy version of RunOnFrameworkThread.

``` -------------------------------- ### AtkUnitBasePtr IsReady Property Source: https://dalamud.dev/api/Dalamud.Game.NativeWrapper/Structs/AtkUnitBasePtr Gets a value indicating whether the OnSetup function has been called. ```csharp public bool IsReady { get; } ``` -------------------------------- ### MarketBoardPurchaseHandler.ItemQuantity Property Source: https://dalamud.dev/api/Dalamud.Game.Network.Structures/Classes/MarketBoardPurchaseHandler Gets the quantity of the item that was purchased. ```csharp public uint ItemQuantity { get; } ``` -------------------------------- ### AtkUnitBasePtr Id Property Source: https://dalamud.dev/api/Dalamud.Game.NativeWrapper/Structs/AtkUnitBasePtr Gets the id of the AtkUnitBase. ```csharp public ushort Id { get; } ``` -------------------------------- ### ImRaii.MenuDisposable Source: https://dalamud.dev/api/Dalamud.Interface.Utility.Raii A RAII wrapper for managing ImGui menus. ```APIDOC ## Struct ImRaii.MenuDisposable A wrapper around ImGui menus. ``` -------------------------------- ### AtkUnitBasePtr Name Property Source: https://dalamud.dev/api/Dalamud.Game.NativeWrapper/Structs/AtkUnitBasePtr Gets the name of the AtkUnitBase. ```csharp public string Name { get; } ``` -------------------------------- ### OpenPluginInstallerTo Source: https://dalamud.dev/api/Dalamud.Plugin/Interfaces/IDalamudPluginInterface Opens the plugin installer window, optionally to a specific page or with a search term. ```APIDOC ## Method ### OpenPluginInstallerTo(PluginInstallerOpenKind, string?) Opens the `Dalamud.Interface.Internal.Windows.PluginInstaller.PluginInstallerWindow`, with an optional search term. #### Returns `System.Boolean`: Returns false if the DalamudInterface was null. #### Parameters - **openTo** (`Dalamud.Interface.PluginInstallerOpenKind`): The page to open the installer to. Defaults to the "All Plugins" page. - **searchText** (`System.String?`): An optional search text to input in the search box. ``` -------------------------------- ### HitboxRadius Property Source: https://dalamud.dev/api/Dalamud.Game.ClientState.Objects.Types/Interfaces/IGameObject Gets the hitbox radius of the GameObject. ```csharp float HitboxRadius { get; } ``` -------------------------------- ### ImRaii.MenuBarDisposable Source: https://dalamud.dev/api/Dalamud.Interface.Utility.Raii A RAII wrapper for managing ImGui menu bars. ```APIDOC ## Struct ImRaii.MenuBarDisposable A wrapper around ImGui menu bars. ``` -------------------------------- ### ImRaii.ItemWidthDisposable Source: https://dalamud.dev/api/Dalamud.Interface.Utility.Raii A RAII wrapper for managing ImGui item width states. ```APIDOC ## Class ImRaii.ItemWidthDisposable A wrapper around pushing item widths. ``` -------------------------------- ### Position Property Source: https://dalamud.dev/api/Dalamud.Game.ClientState.Objects.Types/Interfaces/IGameObject Gets the world position of the GameObject. ```csharp Vector3 Position { get; } ``` -------------------------------- ### SubKind Property Source: https://dalamud.dev/api/Dalamud.Game.ClientState.Objects.Types/Interfaces/IGameObject Gets the sub kind of the Actor. ```csharp byte SubKind { get; } ``` -------------------------------- ### Draw Source: https://dalamud.dev/api/Dalamud.Interface.Windowing/Interfaces/IWindowSystem Renders all registered windows using the ImGui library. ```APIDOC ### Draw() Draw all registered windows using ImGui. ```csharp void Draw() ``` ``` -------------------------------- ### SAMGauge Sen Property Source: https://dalamud.dev/api/Dalamud.Game.ClientState.JobGauge.Types/Classes/SAMGauge Gets the active Sen. ```csharp public Sen Sen { get; } ``` -------------------------------- ### Initialize Delegate Font Handle on Initialization Source: https://dalamud.dev/api/Dalamud.Interface.ManagedFontAtlas/Interfaces/IFontAtlas Example of creating a font handle using a delegate for custom font loading during initialization. It demonstrates adding custom fonts, game symbols, and Dalamud-specific language glyphs. ```csharp this.fontHandle = atlas.NewDelegateFontHandle(e => e.OnPreBuild(tk => { var config = new SafeFontConfig { SizePx = UiBuilder.DefaultFontSizePx }; config.MergeFont = tk.AddFontFromFile(@"C:\\Windows\\Fonts\\comic.ttf", config); tk.AddGameSymbol(config); tk.AddExtraGlyphsForDalamudLanguage(config); // optionally do the following if you have to add more than one font here, // to specify which font added during this delegate is the final font to use. tk.Font = config.MergeFont; })); // or this.fontHandle = atlas.NewDelegateFontHandle(e => e.OnPreBuild(tk => tk.AddDalamudDefaultFont(36))); ``` -------------------------------- ### Message Property Source: https://dalamud.dev/api/Dalamud.Game.Chat/Interfaces/IMutableChatMessage Gets or sets the message content. ```csharp SeString Message { get; set; } ``` -------------------------------- ### OnOpen Method Source: https://dalamud.dev/api/Dalamud.Interface.Windowing/Interfaces/IWindow Executes code when the window is opened. ```APIDOC ## OnOpen() ### Description Code to be executed when the window is opened. ### Declaration ```csharp void OnOpen() ``` ``` -------------------------------- ### ProductGuid System Config Option Source: https://dalamud.dev/api/Dalamud.Game.Config/Enums/SystemConfigOption Represents the product unique identifier. This option is of type String. ```csharp [GameConfigOption("ProductGuid", ConfigType.String, true)] ProductGuid = 71 ``` -------------------------------- ### Hairstyle Property Source: https://dalamud.dev/api/Dalamud.Game.ClientState.Customize/Interfaces/ICustomizeData Gets the current hairstyle of the character. ```csharp byte Hairstyle { get; } ``` -------------------------------- ### Sex Property Source: https://dalamud.dev/api/Dalamud.Game.ClientState.Customize/Interfaces/ICustomizeData Gets the current sex of the character. ```csharp byte Sex { get; } ``` -------------------------------- ### BringToFront Method Source: https://dalamud.dev/api/Dalamud.Interface.Windowing/Interfaces/IWindow Brings this window to the front of the window stack. ```APIDOC ## BringToFront() ### Description Bring this window to the front. ### Declaration ```csharp void BringToFront() ``` ``` -------------------------------- ### AddonReceiveEventArgs Type Property Source: https://dalamud.dev/api/Dalamud.Game.Addon.Lifecycle.AddonArgTypes/Classes/AddonReceiveEventArgs Gets the type of the AddonReceiveEventArgs. ```csharp public override AddonArgsType Type { get; } ``` -------------------------------- ### Add Window to System Source: https://dalamud.dev/api/Dalamud.Interface.Windowing/Classes/WindowSystem Add a new window to the WindowSystem for rendering. Remember to keep a reference to the window as the system does not own it. ```csharp public void AddWindow(IWindow window) ``` -------------------------------- ### Handle Mouse Events and Change Cursor Source: https://dalamud.dev/plugin-development/how-tos/AddonEventManager Register a listener for addon setup and handle mouse events to change the cursor. Use `AddonLifecycle.RegisterListener` for setup and `EventManager` to add mouse event listeners. The `SetCursor` and `ResetCursor` functions are used to change the cursor appearance. ```csharp // Register listener for MonsterNote setup AddonLifecycle.RegisterListener(AddonEvent.PostSetup, "MonsterNote", OnPostSetup); // PostSetup for MonsterNode provided by AddonLifecycle private void OnPostSetup(AddonEvent type, AddonArgs args) { var addon = (AtkUnitBase*) args.Addon; var targetNode = addon->GetNodeById(22); targetNode->NodeFlags |= NodeFlags.EmitsEvents | NodeFlags.RespondToMouse | NodeFlags.HasCollision; EventManager.AddEvent((nint) addon, (nint) targetNode, AddonEventType.MouseOver, OnClickHandler); EventManager.AddEvent((nint) addon, (nint) targetNode, AddonEventType.MouseOut, OnClickHandler); EventManager.AddEvent((nint) addon, (nint) targetNode, AddonEventType.MouseClick, OnClickHandler); } private void OnClickHandler(AddonEventType type, IntPtr addon, IntPtr node) { switch (type) { case AddonEventType.MouseOver: EventManager.SetCursor(AddonCursorType.Clickable); break; case AddonEventType.MouseOut: EventManager.ResetCursor(); break; case AddonEventType.MouseClick: // Do custom click logic here. break; } } ``` -------------------------------- ### WindowSystem Methods Source: https://dalamud.dev/api/Dalamud.Interface.Windowing/Classes/WindowSystem Methods for managing windows within the WindowSystem. ```APIDOC ## Methods ### AddWindow(IWindow) Add a window to this Dalamud.Interface.Windowing.WindowSystem. The window system doesn't own your window, it just renders it You need to store a reference to it to use it later. ```csharp public void AddWindow(IWindow window) ``` #### Parameters Type| Name| Description ---|---|--- Dalamud.Interface.Windowing.IWindow| _window_| The window to add. ### RemoveWindow(IWindow) Remove a window from this Dalamud.Interface.Windowing.WindowSystem. Will not dispose your window, if it is disposable. ```csharp public void RemoveWindow(IWindow window) ``` #### Parameters Type| Name| Description ---|---|--- Dalamud.Interface.Windowing.IWindow| _window_| The window to remove. ### RemoveAllWindows() Remove all windows from this Dalamud.Interface.Windowing.WindowSystem. Will not dispose your windows, if they are disposable. ```csharp public void RemoveAllWindows() ``` ### Draw() Draw all registered windows using ImGui. ```csharp public void Draw() ``` ``` -------------------------------- ### ImGuiBuildUiDelegate Source: https://dalamud.dev/api/Dalamud.Interface.ImGuiBackend.Delegates Delegate to be called when ImGui should be used to layout UI elements. ```APIDOC ## Delegate: ImGuiBuildUiDelegate ### Description Delegate to be called when ImGui should be used to layout now. ### Usage This delegate is invoked by the Dalamud framework to allow plugins to draw their ImGui interfaces. ``` -------------------------------- ### PlayGuideLoginDisp Source: https://dalamud.dev/api/Dalamud.Game.Config/Enums/UiConfigOption Represents the UI configuration option for displaying the play guide upon login. It is of type UInt and has an internal name 'PlayGuideLoginDisp'. ```APIDOC ## PlayGuideLoginDisp ### Description UiConfig option with the internal name PlayGuideLoginDisp. This option is a UInt. ### Declaration ```csharp [GameConfigOption("PlayGuideLoginDisp", ConfigType.UInt, true)] PlayGuideLoginDisp = 539 ``` ``` -------------------------------- ### Build Method Source: https://dalamud.dev/api/Dalamud.Interface.ManagedFontAtlas/Structs/FluentGlyphRangeBuilder Builds the accumulated data into an ImGui glyph range, with options to include fallback and ellipsis codepoints. ```APIDOC ## Build(bool, bool) ### Description Builds the accumulated data into an ImGui glyph range. ### Method Signature public ushort[] Build(bool addFallbackCodepoints = true, bool addEllipsisCodepoints = true) ### Parameters #### Parameters - **addFallbackCodepoints** (System.Boolean) - Whether to add the default fallback codepoints to the range. - **addEllipsisCodepoints** (System.Boolean) - Whether to add the default ellipsis codepoints to the range. ### Returns `System.UInt16[]`: The built ImGui glyph ranges. ``` -------------------------------- ### ITargetManager Source: https://dalamud.dev/api/Dalamud.Plugin.Services Get and set various kinds of targets for the player. ```APIDOC ## Interface: ITargetManager ### Description Get and set various kinds of targets for the player, including the current target, focus target, and mouse-over target. ### Usage Manage the player's target selection programmatically. ``` -------------------------------- ### HitchDetector.Start() Source: https://dalamud.dev/api/Dalamud.Utility/Classes/HitchDetector Starts the time tracking mechanism within the HitchDetector. This method should be called before monitoring for hitches. ```APIDOC ## HitchDetector.Start() ### Description Starts the time tracking. ### Method ```csharp public void Start() ``` ``` -------------------------------- ### CfPop Event Source: https://dalamud.dev/api/Dalamud.Plugin.Services/Interfaces/IClientState Event that gets fired when a duty is ready. ```APIDOC ## Event CfPop ### Description Event that gets fired when a duty is ready. ### Event Type `System.Action` ``` -------------------------------- ### ShowInHelp Property Source: https://dalamud.dev/api/Dalamud.Game.Command/Classes/CommandInfo Determines whether the command should be included in the help output. Set to true to display, false to hide. ```csharp public bool ShowInHelp { get; set; } ``` -------------------------------- ### IsLoggedIn Source: https://dalamud.dev/api/Dalamud.Plugin.Services/Interfaces/IClientState Gets a value indicating whether a character is logged in. ```APIDOC ## Property IsLoggedIn ### Description Gets a value indicating whether a character is logged in. ### Type bool ``` -------------------------------- ### BufferBackedImDrawData.ListPtr Property Source: https://dalamud.dev/api/Dalamud.Interface.Utility/Structs/BufferBackedImDrawData Gets the ImDrawListPtr stored within this buffer. ```csharp public readonly ImDrawListPtr ListPtr { get; } ``` -------------------------------- ### OpenConfigUi Event Source: https://dalamud.dev/api/Dalamud.Interface/Classes/UiBuilder Fired when the plugin's configuration interface should be displayed to the user. ```APIDOC ## OpenConfigUi Event ### Description Event that is fired when the plugin should open its configuration interface. ### Event Type `System.Action` ``` -------------------------------- ### CreateImGuiSource (overload 1) Source: https://dalamud.dev/api/Dalamud.Interface.DragDrop/Interfaces/IDragDropManager Creates an ImGui drag and drop source that is active only if anything is being dragged from an external source. This overload includes a label and a validity check function. ```APIDOC ## Methods ### CreateImGuiSource(string, Func) Create an ImGui drag and drop source that is active only if anything is being dragged from an external source. #### Declaration ```csharp void CreateImGuiSource(string label, Func validityCheck) ``` #### Parameters * **label** (`System.String`) - The label used for the drag and drop payload. * **validityCheck** (`System.Func`) - A function returning whether the current status is relevant for this source. Checked before creating the source but only if something is being dragged. ``` -------------------------------- ### BufferBackedImDrawData.List Property Source: https://dalamud.dev/api/Dalamud.Interface.Utility/Structs/BufferBackedImDrawData Gets the ImDrawList stored within this buffer. ```csharp public readonly ref ImDrawList List { get; } ``` -------------------------------- ### BufferBackedImDrawData.DataPtr Property Source: https://dalamud.dev/api/Dalamud.Interface.Utility/Structs/BufferBackedImDrawData Gets the ImDrawDataPtr stored within this buffer. ```csharp public readonly ImDrawDataPtr DataPtr { get; } ``` -------------------------------- ### Create Bold Text SeString Source: https://dalamud.dev/plugin-development/sestring Demonstrates creating a SeString with bold text using SeStringBuilder by explicitly defining macro start and end points. ```csharp var example = new SeStringBuilder() .Append("Welcome ") .BeginMacro(MacroCode.Bold) .AppendIntExpression(1) .EndMacro() .Append("Player Name") .BeginMacro(MacroCode.Bold) .AppendIntExpression(0) .EndMacro() .Append("!") .ToReadOnlySeString(); ```