using HSUI.Config; using HSUI.Config.Attributes; using HSUI.Enums; using System.Numerics; namespace HSUI.Interface.GeneralElements { [DisableParentSettings("Position")] [Section("Other Elements")] [SubSection("Mouse GCD Indicator", 0)] public class MouseGCDIndicatorConfig : MovablePluginConfigObject { [Checkbox("Always Show")] [Order(3)] public bool AlwaysShow = false; [ColorEdit4("Background Color")] [Order(16)] public PluginConfigColor BackgroundColor = new PluginConfigColor(new Vector4(0f / 255f, 0f / 255f, 0f / 255f, 50f / 100f)); [ColorEdit4("Color")] [Order(17)] public PluginConfigColor FillColor = new PluginConfigColor(new(220f / 255f, 220f / 255f, 220f / 255f, 100f / 100f)); [Checkbox("Show Border")] [Order(18)] public bool ShowBorder = true; [Checkbox("Instant GCDs only", spacing = true)] [Order(19)] public bool InstantGCDsOnly = false; [Checkbox("Only show when under GCD Threshold", spacing = true)] [Order(20)] public bool LimitGCDThreshold = false; [DragFloat("GCD Threshold", velocity = 0.01f)] [Order(21, collapseWith = nameof(LimitGCDThreshold))] public float GCDThreshold = 1.50f; [Checkbox("Show GCD Queue Indicator", spacing = true)] [Order(24)] public bool ShowGCDQueueIndicator = true; [ColorEdit4("GCD Queue Color")] [Order(25, collapseWith = nameof(ShowGCDQueueIndicator))] public PluginConfigColor QueueColor = new PluginConfigColor(new(13f / 255f, 207f / 255f, 31f / 255f, 100f / 100f)); [DragInt("Radius")] [Order(35)] public int CircleRadius = 40; [DragInt("Thickness")] [Order(40)] public int CircleThickness = 10; [DragInt("Start Angle", min = 0, max = 359)] [Order(45)] public int CircleStartAngle = 0; [Checkbox("Rotate CCW")] [Order(50)] public bool RotateCCW = false; [DragInt2("Cursor Center Offset", min = -64, max = 64)] [Order(55)] public Vector2 CursorCenterOffset = new Vector2(8, 16); [NestedConfig("Visibility", 70)] public VisibilityConfig VisibilityConfig = new VisibilityConfig(); public new static MouseGCDIndicatorConfig DefaultConfig() { return new MouseGCDIndicatorConfig() { Enabled = false, Strata = StrataLevel.MID_HIGH }; } } }