Files
HSUI/Interface/GeneralElements/MainMenuConfig.cs
T
2026-03-04 01:38:48 -05:00

62 lines
1.8 KiB
C#

using Dalamud.Bindings.ImGui;
using HSUI.Config;
using HSUI.Config.Attributes;
using HSUI.Enums;
using System.Numerics;
namespace HSUI.Interface.GeneralElements
{
[Section("Other Elements")]
[SubSection("Main Menu", 0)]
public class MainMenuConfig : AnchorablePluginConfigObject
{
[Combo("Layout", new[] { "Horizontal", "Vertical" })]
[Order(18)]
public int LayoutDirection = 0; // 0 = horizontal, 1 = vertical
[DragInt("Icon Size", min = 16, max = 64)]
[Order(20)]
public int IconSize = 36;
[DragInt("Spacing", min = 0, max = 24)]
[Order(21)]
public int Spacing = 4;
[ColorEdit4("Background Color")]
[Order(30)]
public PluginConfigColor BackgroundColor = new(new Vector4(0f, 0f, 0f, 0.6f));
[ColorEdit4("Icon Tint")]
[Order(31)]
public PluginConfigColor IconTint = new(new Vector4(1f, 1f, 1f, 1f));
[ColorEdit4("Hover Tint")]
[Order(32)]
public PluginConfigColor HoverTint = new(new Vector4(1f, 1f, 1f, 1f));
[Checkbox("Show Labels")]
[Order(35)]
public bool ShowLabels = false;
[NestedConfig("Visibility", 70)]
public VisibilityConfig VisibilityConfig = new();
public MainMenuConfig()
{
// Width fits 7 icons (36px) + 6 gaps (4px) + 8 margin = 284
Size = new Vector2(284, 48);
}
public new static MainMenuConfig DefaultConfig()
{
var viewport = ImGui.GetMainViewport().Size;
return new MainMenuConfig
{
Position = new Vector2(0, viewport.Y * 0.5f - 24),
Size = new Vector2(284, 48),
Anchor = DrawAnchor.Bottom
};
}
}
}