Files
AetherBags/KamiToolKit/Nodes/Component/SliderForegroundButtonNode.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

79 lines
2.8 KiB
C#

using System.Numerics;
using FFXIVClientStructs.FFXIV.Component.GUI;
using KamiToolKit.Enums;
using KamiToolKit.Timelines;
namespace KamiToolKit.Nodes;
public class SliderForegroundButtonNode : ComponentNode<AtkComponentButton, AtkUldComponentDataButton> {
public readonly ImageNode HandleNode;
public SliderForegroundButtonNode() {
SetInternalComponentType(ComponentType.Button);
HandleNode = new SimpleImageNode {
TexturePath = "ui/uld/SliderGaugeHorizontalA.tex",
TextureCoordinates = new Vector2(1.0f, 1.0f),
TextureSize = new Vector2(14.0f, 15.0f),
Size = new Vector2(14.0f, 15.0f),
WrapMode = WrapMode.Stretch,
};
HandleNode.AttachNode(this);
BuildTimelines();
InitializeComponentEvents();
}
protected override void OnSizeChanged() {
base.OnSizeChanged();
HandleNode.Size = Size;
}
private void BuildTimelines() {
AddTimeline(new TimelineBuilder()
.BeginFrameSet(1, 20)
.AddFrame(1, alpha: 255)
.EndFrameSet()
.BeginFrameSet(21, 30)
.AddFrame(21, alpha: 178)
.EndFrameSet()
.Build()
);
HandleNode.AddTimeline(new TimelineBuilder()
.BeginFrameSet(1, 9)
.AddFrame(1, alpha: 255)
.AddFrame(1, addColor: new Vector3(0, 0, 0), multiplyColor: new Vector3(100, 100, 100))
.EndFrameSet()
.BeginFrameSet(10, 19)
.AddFrame(10, alpha: 255)
.AddFrame(12, alpha: 255)
.AddFrame(10, addColor: new Vector3(0, 0, 0), multiplyColor: new Vector3(100, 100, 100))
.AddFrame(12, addColor: new Vector3(16, 16, 16), multiplyColor: new Vector3(100, 100, 100))
.EndFrameSet()
.BeginFrameSet(20, 29)
.AddFrame(20, alpha: 255)
.AddFrame(20, addColor: new Vector3(16, 16, 16), multiplyColor: new Vector3(100, 100, 100))
.EndFrameSet()
.BeginFrameSet(30, 39)
.AddFrame(30, alpha: 255)
.AddFrame(30, addColor: new Vector3(0, 0, 0), multiplyColor: new Vector3(70, 70, 70))
.EndFrameSet()
.BeginFrameSet(40, 49)
.AddFrame(40, alpha: 255)
.AddFrame(40, addColor: new Vector3(16, 16, 16), multiplyColor: new Vector3(100, 100, 100))
.EndFrameSet()
.BeginFrameSet(50, 59)
.AddFrame(50, alpha: 255)
.AddFrame(52, alpha: 255)
.AddFrame(50, addColor: new Vector3(16, 16, 16), multiplyColor: new Vector3(100, 100, 100))
.AddFrame(52, addColor: new Vector3(0, 0, 0), multiplyColor: new Vector3(100, 100, 100))
.EndFrameSet()
.Build()
);
}
}