45 lines
1.5 KiB
C#
45 lines
1.5 KiB
C#
using System.Numerics;
|
|
using FFXIVClientStructs.FFXIV.Component.GUI;
|
|
using KamiToolKit.Enums;
|
|
using KamiToolKit.Timelines;
|
|
|
|
namespace KamiToolKit.Nodes;
|
|
|
|
public class IconIndicator : ResNode {
|
|
|
|
public readonly ImageNode IconNode;
|
|
|
|
public IconIndicator(uint innerNodeId) {
|
|
IconNode = new ImageNode {
|
|
NodeId = innerNodeId,
|
|
Size = new Vector2(18, 18),
|
|
NodeFlags = NodeFlags.Visible | NodeFlags.Enabled | NodeFlags.EmitsEvents,
|
|
WrapMode = WrapMode.Stretch,
|
|
PartId = (uint)(innerNodeId == 5 ? 25 : 30),
|
|
};
|
|
|
|
IconNodeTextureHelper.LoadIconAFrameTexture(IconNode);
|
|
|
|
IconNode.AttachNode(this);
|
|
|
|
BuildTimeline();
|
|
}
|
|
|
|
private void BuildTimeline() {
|
|
IconNode.AddTimeline(new TimelineBuilder()
|
|
.AddFrameSetWithFrame(11, 20, 11, partId: 14)
|
|
.AddFrameSetWithFrame(21, 30, 21, partId: 15)
|
|
.AddFrameSetWithFrame(31, 40, 31, partId: 21)
|
|
.AddFrameSetWithFrame(41, 50, 41, partId: 22)
|
|
.AddFrameSetWithFrame(51, 60, 51, partId: 23)
|
|
.AddFrameSetWithFrame(61, 70, 61, partId: 24)
|
|
.AddFrameSetWithFrame(71, 79, 71, partId: 29)
|
|
.AddFrameSetWithFrame(80, 89, 80, partId: 30)
|
|
.AddFrameSetWithFrame(90, 99, 90, partId: 25)
|
|
.AddFrameSetWithFrame(100, 109, 100, partId: 26)
|
|
.AddFrameSetWithFrame(110, 119, 110, partId: 27)
|
|
.AddFrameSetWithFrame(120, 129, 120, partId: 28)
|
|
.Build());
|
|
}
|
|
}
|