50 lines
1.7 KiB
C#
50 lines
1.7 KiB
C#
using System.Linq;
|
|
using System.Numerics;
|
|
using FFXIVClientStructs.FFXIV.Component.GUI;
|
|
|
|
namespace KamiToolKit.Nodes;
|
|
|
|
public class TextInputSelectionListNode : ResNode {
|
|
|
|
public readonly NineGridNode BackgroundNode;
|
|
public readonly TextInputButtonNode[] Buttons = new TextInputButtonNode[9];
|
|
public readonly TextNode LabelNode;
|
|
|
|
public TextInputSelectionListNode() {
|
|
BackgroundNode = new SimpleNineGridNode {
|
|
NodeId = 15,
|
|
Size = new Vector2(186.0f, 208.0f),
|
|
TexturePath = "ui/uld/TextInputA.tex",
|
|
TextureCoordinates = new Vector2(48.0f, 0.0f),
|
|
TextureSize = new Vector2(20.0f, 20.0f),
|
|
TopOffset = 8.0f,
|
|
BottomOffset = 8.0f,
|
|
LeftOffset = 9.0f,
|
|
RightOffset = 9.0f,
|
|
PartsRenderType = 4,
|
|
NodeFlags = NodeFlags.Visible | NodeFlags.Enabled | NodeFlags.Fill | NodeFlags.EmitsEvents,
|
|
};
|
|
BackgroundNode.AttachNode(this);
|
|
|
|
LabelNode = new TextNode {
|
|
NodeId = 14,
|
|
Position = new Vector2(13.0f, 182.0f),
|
|
Size = new Vector2(160.0f, 21.0f),
|
|
NodeFlags = NodeFlags.Visible | NodeFlags.Enabled | NodeFlags.EmitsEvents,
|
|
AlignmentType = (AlignmentType)21,
|
|
FontType = FontType.MiedingerMed,
|
|
};
|
|
LabelNode.AttachNode(this);
|
|
|
|
foreach (var index in Enumerable.Range(0, 9)) {
|
|
Buttons[index] = new TextInputButtonNode {
|
|
NodeId = (uint)(13 - index),
|
|
Position = new Vector2(13.0f, 164.0f - 20.0f * index),
|
|
Size = new Vector2(160.0f, 24.0f),
|
|
};
|
|
|
|
Buttons[index].AttachNode(this);
|
|
}
|
|
}
|
|
}
|