Initial commit: AetherBags + KamiToolKit for FC Gitea
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,77 @@
|
||||
using System.Drawing;
|
||||
using System.Numerics;
|
||||
using Dalamud.Interface;
|
||||
using FFXIVClientStructs.FFXIV.Component.GUI;
|
||||
using KamiToolKit.Timelines;
|
||||
|
||||
namespace KamiToolKit.Nodes;
|
||||
|
||||
public unsafe class TextInputButtonNode : ButtonBase {
|
||||
|
||||
public readonly NineGridNode BackgroundNode;
|
||||
public readonly TextNode LabelNode;
|
||||
|
||||
public TextInputButtonNode() {
|
||||
BackgroundNode = new SimpleNineGridNode {
|
||||
Size = new Vector2(160.0f, 24.0f),
|
||||
LeftOffset = 16.0f,
|
||||
RightOffset = 1.0f,
|
||||
NodeFlags = NodeFlags.Visible | NodeFlags.Enabled | NodeFlags.Fill | NodeFlags.EmitsEvents,
|
||||
TexturePath = "ui/uld/ListItemA.tex",
|
||||
TextureCoordinates = new Vector2(0.0f, 22.0f),
|
||||
TextureSize = new Vector2(63.0f, 22.0f),
|
||||
};
|
||||
BackgroundNode.AttachNode(this);
|
||||
|
||||
LabelNode = new TextNode {
|
||||
Position = new Vector2(12.0f, 2.0f),
|
||||
Size = new Vector2(140.0f, 18.0f),
|
||||
NodeFlags = NodeFlags.Visible | NodeFlags.Enabled | NodeFlags.EmitsEvents,
|
||||
AlignmentType = AlignmentType.Left,
|
||||
TextFlags = TextFlags.AutoAdjustNodeSize,
|
||||
TextColor = KnownColor.White.Vector(),
|
||||
TextOutlineColor = KnownColor.White.Vector(),
|
||||
BackgroundColor = KnownColor.Black.Vector(),
|
||||
};
|
||||
LabelNode.AttachNode(this);
|
||||
|
||||
Data->Nodes[0] = LabelNode.NodeId;
|
||||
Data->Nodes[1] = BackgroundNode.NodeId;
|
||||
|
||||
LoadTimeline();
|
||||
|
||||
InitializeComponentEvents();
|
||||
}
|
||||
|
||||
private void LoadTimeline() {
|
||||
AddTimeline(new TimelineBuilder()
|
||||
.BeginFrameSet(1, 59)
|
||||
.AddLabelPair(1, 9, 1)
|
||||
.AddLabelPair(10, 19, 2)
|
||||
.AddLabelPair(20, 29, 3)
|
||||
.AddLabelPair(30, 39, 7)
|
||||
.AddLabelPair(40, 49, 6)
|
||||
.AddLabelPair(50, 59, 4)
|
||||
.EndFrameSet()
|
||||
.Build());
|
||||
|
||||
BackgroundNode.AddTimeline(new TimelineBuilder()
|
||||
.BeginFrameSet(10, 19)
|
||||
.AddFrame(10, alpha: 0)
|
||||
.AddFrame(13, alpha: 255)
|
||||
.EndFrameSet()
|
||||
.AddFrameSetWithFrame(20, 29, 20, alpha: 255)
|
||||
.AddFrameSetWithFrame(40, 49, 40, alpha: 255)
|
||||
.BeginFrameSet(50, 59)
|
||||
.AddFrame(50, alpha: 255)
|
||||
.AddFrame(52, alpha: 0)
|
||||
.EndFrameSet()
|
||||
.Build());
|
||||
|
||||
LabelNode.AddTimeline(new TimelineBuilder()
|
||||
.AddFrameSetWithFrame(1, 29, 1, alpha: 255, multiplyColor: new Vector3(100.0f))
|
||||
.AddFrameSetWithFrame(30, 39, 30, alpha: 153, multiplyColor: new Vector3(80.0f))
|
||||
.AddFrameSetWithFrame(40, 59, 40, alpha: 255, multiplyColor: new Vector3(100.0f))
|
||||
.Build());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user