XIVDrawer 3.0.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package XIVDrawer --version 3.0.0
NuGet\Install-Package XIVDrawer -Version 3.0.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="XIVDrawer" Version="3.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add XIVDrawer --version 3.0.0
#r "nuget: XIVDrawer, 3.0.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install XIVDrawer as a Cake Addin
#addin nuget:?package=XIVDrawer&version=3.0.0

// Install XIVDrawer as a Cake Tool
#tool nuget:?package=XIVDrawer&version=3.0.0

XIVDrawer

[!IMPORTANT]

Due to the XIVPainter is already taken in Nuget, I have to change its name to XIVDrawer!

XIVDrawer is a drawing library in Imgui designed to work within Dalamud Plugins. It can draw polygons, images, text, and so on to your world.

Getting Started

Add XIVPainter as a submodule to your project:

git submodule add https://github.com/ArchiDog1998/XIVDrawer

Add it to your plugin's CSProj file:

<ItemGroup>
	<ProjectReference Include="..\XIVDrawer\XIVDrawer\XIVDrawer.csproj" />
</ItemGroup>

Then, in the entry point of your plugin:

XIVDrawerMain.Init(pluginInterface, "%NAME%");

where pluginInterface is a DalamudPluginInterface.

And there is a good example of it in Rotation Solver.

Don't forget to dispose it!

Usage

All things need to be disposed to close it.

VFX stuff

<iframe width="560" height="315" src="https://www.youtube.com/embed/wE8VVTmQyxQ?si=Lnjw9O4yCyY-I9kO" title="YouTube video player" frameborder="0"</iframe>

Use this code to show the Vfx stuff.

_ = XIVPainterMain.ShowOff();

There are two things called ActorVfx and StaticVfx for you to use in your own project.

Hotbar highlighting

new DrawingHighlightHotbar(new(0f, 1f, 0.8f, 1f), 7411);

highlight

Drawing stuff

new Drawing3DCircularSectorO(Player.Object, 5, ImGui.ColorConvertFloat4ToU32(new Vector4(1f, 0.5f, 0.4f, 0.15f)), 5);

Animation stuff

var deadTime = DateTime.Now.AddSeconds(10);
var r = new Random();
var col = ImGui.ColorConvertFloat4ToU32(new Vector4(1f, 0.5f, 0.2f, 0.15f));
var colIn = ImGui.ColorConvertFloat4ToU32(new Vector4(1f, 0.5f, 0.2f, 0.5f));
    new Drawing3DAnnulus(Player.Object.Position + new Vector3((float)r.NextDouble() * 3, 0, (float)r.NextDouble() * 3), 3, 5, col, 2)
    {
        DeadTime = deadTime,
        InsideColor = colIn,
    };

    new Drawing3DCircularSector(Player.Object.Position + new Vector3((float)r.NextDouble() * 3, 0, (float)r.NextDouble() * 3), 3, col, 2)
    {
        DeadTime = deadTime,
        InsideColor = colIn,
    };

DeadTime will make an animation about disappear.

PolylineType will show the moving suggestion for you.

Product Compatible and additional computed target framework versions.
.NET net8.0-windows7.0 is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on XIVDrawer:

Package Downloads
RotationSolver.Basic

A basic library for rotation development in FFXIV in RotationSolver.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
3.0.1 87 4/17/2024
3.0.0 102 4/9/2024