Files
AetherBags/KamiToolKit/Nodes/Basic/HoldButtonProgressNode.cs
T
KnackAtNite 8db4ce6094
Debug Build and Test / Build against Latest Dalamud (push) Has been cancelled
Debug Build and Test / Build against Staging Dalamud (push) Has been cancelled
Initial commit: AetherBags + KamiToolKit for FC Gitea
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-08 14:46:31 -05:00

64 lines
2.3 KiB
C#

using System.Numerics;
using FFXIVClientStructs.FFXIV.Component.GUI;
using KamiToolKit.Enums;
using KamiToolKit.Timelines;
namespace KamiToolKit.Nodes;
public class HoldButtonProgressNode : ResNode {
public readonly ImageNode ImageNode;
public HoldButtonProgressNode() {
ImageNode = new SimpleImageNode {
NodeId = 4,
TexturePath = "ui/uld/LongPressButtonA.tex",
TextureCoordinates = new Vector2(0.0f, 36.0f),
TextureSize = new Vector2(100.0f, 36.0f),
Size = new Vector2(0.0f, 36.0f),
WrapMode = WrapMode.Tile,
};
ImageNode.AttachNode(this);
BuildTimelines();
}
private void BuildTimelines() {
AddTimeline(new TimelineBuilder()
.BeginFrameSet(1, 83)
.AddLabel(1, 29, AtkTimelineJumpBehavior.Start, 0)
.AddLabel(60, 30, AtkTimelineJumpBehavior.PlayOnce, 0)
.AddLabel(61, 31, AtkTimelineJumpBehavior.Start, 0)
.AddLabel(73, 32, AtkTimelineJumpBehavior.PlayOnce, 31)
.AddLabel(74, 33, AtkTimelineJumpBehavior.Start, 0)
.AddLabel(83, 0, AtkTimelineJumpBehavior.PlayOnce, 0)
.EndFrameSet()
.BeginFrameSet(18, 26)
.AddEmptyFrame(18)
.EndFrameSet()
.BeginFrameSet(37, 53)
.AddEmptyFrame(37)
.EndFrameSet()
.BeginFrameSet(54, 71)
.AddEmptyFrame(54)
.EndFrameSet()
.Build()
);
ImageNode.AddTimeline(new TimelineBuilder()
.BeginFrameSet(1, 60)
.AddFrame(1, addColor: new Vector3(0, 0, 0), multiplyColor: new Vector3(100, 100, 100))
.EndFrameSet()
.BeginFrameSet(61, 73)
.AddFrame(61, addColor: new Vector3(0, 0, 0), multiplyColor: new Vector3(100, 100, 100))
.EndFrameSet()
.BeginFrameSet(74, 83)
.AddFrame(74, addColor: new Vector3(0, 0, 0), multiplyColor: new Vector3(100, 100, 100))
.AddFrame(76, addColor: new Vector3(150, 150, 100), multiplyColor: new Vector3(100, 100, 100))
.AddFrame(83, addColor: new Vector3(20, 20, 20), multiplyColor: new Vector3(100, 100, 100))
.EndFrameSet()
.Build()
);
}
}