Initial commit: AetherBags + KamiToolKit for FC Gitea
Debug Build and Test / Build against Latest Dalamud (push) Has been cancelled
Debug Build and Test / Build against Staging Dalamud (push) Has been cancelled

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-02-08 14:46:31 -05:00
commit 8db4ce6094
375 changed files with 34124 additions and 0 deletions
+61
View File
@@ -0,0 +1,61 @@
using FFXIVClientStructs.FFXIV.Component.GUI;
using KamiToolKit.Classes;
using KamiToolKit.Enums;
namespace KamiToolKit.Nodes;
public unsafe class ImageNode : NodeBase<AtkImageNode> {
public readonly PartsList PartsList;
public ImageNode() : base(NodeType.Image) {
PartsList = new PartsList();
Node->PartsList = PartsList.InternalPartsList;
}
protected override void Dispose(bool disposing, bool isNativeDestructor) {
if (disposing) {
if (!isNativeDestructor) {
PartsList.Dispose();
Node->PartsList = null;
}
base.Dispose(disposing, isNativeDestructor);
}
}
public uint PartId {
get => Node->PartId;
set => Node->PartId = (ushort) value;
}
public WrapMode WrapMode {
get => (WrapMode) Node->WrapMode;
set => Node->WrapMode = (byte) value;
}
public ImageNodeFlags ImageNodeFlags {
get => Node->Flags;
set => Node->Flags = value;
}
/// <summary>
/// When set to true, will cause the loaded texture to
/// fit itself to the size of the node
/// </summary>
public bool FitTexture {
set {
if (value) {
ImageNodeFlags = ImageNodeFlags.AutoFit;
WrapMode = WrapMode.Stretch;
}
}
}
public AtkUldPart* AddPart(Part part)
=> PartsList.Add(part);
public void AddPart(params Part[] parts)
=> PartsList.Add(parts);
}