f37369cdda
Co-authored-by: Cursor <cursoragent@cursor.com>
84 lines
2.5 KiB
C#
84 lines
2.5 KiB
C#
using HSUI.Config;
|
|
using HSUI.Config.Attributes;
|
|
using HSUI.Enums;
|
|
using HSUI.Interface.GeneralElements;
|
|
using System.Numerics;
|
|
|
|
namespace HSUI.Interface.Bars
|
|
{
|
|
[Exportable(false)]
|
|
public class ChunkedBarConfig : BarConfig
|
|
{
|
|
[DragInt("Padding", min = -4000, max = 4000)]
|
|
[Order(45)]
|
|
public int Padding = 2;
|
|
|
|
public ChunkedBarConfig(
|
|
Vector2 position,
|
|
Vector2 size,
|
|
PluginConfigColor fillColor,
|
|
int padding = 2) : base(position, size, fillColor)
|
|
{
|
|
Padding = padding;
|
|
}
|
|
}
|
|
|
|
[Exportable(false)]
|
|
public class ChunkedProgressBarConfig : ChunkedBarConfig
|
|
{
|
|
[Checkbox("Show In Chunks", spacing = true)]
|
|
[Order(46)]
|
|
public bool UseChunks = true;
|
|
|
|
[RadioSelector("Show Text on All Chunks", "Show Text on Active Chunk")]
|
|
[Order(47, collapseWith = nameof(UseChunks))]
|
|
public LabelMode LabelMode;
|
|
|
|
[Checkbox("Use Partial Fill Color", spacing = true)]
|
|
[Order(50)]
|
|
public bool UsePartialFillColor = false;
|
|
|
|
[ColorEdit4("Partial Fill Color")]
|
|
[Order(55, collapseWith = nameof(UsePartialFillColor))]
|
|
public PluginConfigColor PartialFillColor;
|
|
|
|
[NestedConfig("Bar Text", 1000, separator = false, spacing = true)]
|
|
public NumericLabelConfig Label;
|
|
|
|
public ChunkedProgressBarConfig(
|
|
Vector2 position,
|
|
Vector2 size,
|
|
PluginConfigColor fillColor,
|
|
int padding = 2,
|
|
PluginConfigColor? partialFillColor = null) : base(position, size, fillColor, padding)
|
|
{
|
|
Label = new NumericLabelConfig(Vector2.Zero, "", DrawAnchor.Center, DrawAnchor.Center);
|
|
Label.Enabled = false;
|
|
|
|
PartialFillColor = partialFillColor ?? new PluginConfigColor(new(180f / 255f, 180f / 255f, 180f / 255f, 100f / 100f));
|
|
}
|
|
}
|
|
|
|
[DisableParentSettings("LabelMode", "UsePartialFillColor", "PartialFillColor")]
|
|
[Exportable(false)]
|
|
public class StacksWithDurationBarConfig : ChunkedProgressBarConfig
|
|
{
|
|
public StacksWithDurationBarConfig(
|
|
Vector2 position,
|
|
Vector2 size,
|
|
PluginConfigColor fillColor,
|
|
int padding = 2,
|
|
PluginConfigColor? partialFillColor = null) : base(position, size, fillColor, padding)
|
|
{
|
|
UseChunks = true;
|
|
UsePartialFillColor = false;
|
|
}
|
|
}
|
|
|
|
public enum LabelMode
|
|
{
|
|
AllChunks,
|
|
ActiveChunk
|
|
}
|
|
}
|