Initial commit: AetherBags + KamiToolKit for FC Gitea
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,78 @@
|
||||
using System.Numerics;
|
||||
using FFXIVClientStructs.FFXIV.Component.GUI;
|
||||
using KamiToolKit.Classes;
|
||||
|
||||
namespace KamiToolKit.Nodes;
|
||||
|
||||
public unsafe class NineGridNode : NodeBase<AtkNineGridNode> {
|
||||
|
||||
public readonly PartsList PartsList;
|
||||
|
||||
public NineGridNode() : base(NodeType.NineGrid) {
|
||||
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 = value;
|
||||
}
|
||||
|
||||
public Vector4 Offsets {
|
||||
get => new(Node->TopOffset, Node->BottomOffset, Node->LeftOffset, Node->RightOffset);
|
||||
set {
|
||||
Node->TopOffset = (short)value.X;
|
||||
Node->BottomOffset = (short)value.Y;
|
||||
Node->LeftOffset = (short)value.Z;
|
||||
Node->RightOffset = (short)value.W;
|
||||
}
|
||||
}
|
||||
|
||||
public float TopOffset {
|
||||
get => Node->TopOffset;
|
||||
set => Node->TopOffset = (short)value;
|
||||
}
|
||||
|
||||
public float BottomOffset {
|
||||
get => Node->BottomOffset;
|
||||
set => Node->BottomOffset = (short)value;
|
||||
}
|
||||
|
||||
public float LeftOffset {
|
||||
get => Node->LeftOffset;
|
||||
set => Node->LeftOffset = (short)value;
|
||||
}
|
||||
|
||||
public float RightOffset {
|
||||
get => Node->RightOffset;
|
||||
set => Node->RightOffset = (short)value;
|
||||
}
|
||||
|
||||
public uint BlendMode {
|
||||
get => Node->BlendMode;
|
||||
set => Node->BlendMode = value;
|
||||
}
|
||||
|
||||
public byte PartsRenderType {
|
||||
get => Node->PartsTypeRenderType;
|
||||
set => Node->PartsTypeRenderType = value;
|
||||
}
|
||||
|
||||
public AtkUldPart* AddPart(Part part)
|
||||
=> PartsList.Add(part);
|
||||
|
||||
public void AddPart(params Part[] parts)
|
||||
=> PartsList.Add(parts);
|
||||
}
|
||||
Reference in New Issue
Block a user