Files
HSUI/Interface/GeneralElements/ExperienceBarConfig.cs
T

58 lines
2.2 KiB
C#

using Dalamud.Interface;
using HSUI.Config;
using HSUI.Config.Attributes;
using HSUI.Enums;
using HSUI.Interface.Bars;
using Dalamud.Bindings.ImGui;
using System.Numerics;
namespace HSUI.Interface.GeneralElements
{
[Section("Other Elements")]
[SubSection("Experience Bar", 0)]
public class ExperienceBarConfig : BarConfig
{
[Checkbox("Hide When Downsynced")]
[Order(44, collapseWith = nameof(HideWhenInactive))]
public bool HideWhenDownsynced = false;
[Checkbox("Use Job Color")]
[Order(45)]
public bool UseJobColor = false;
[Checkbox("Show Rested Exp")]
[Order(50)]
public bool ShowRestedExp = true;
[ColorEdit4("Rested Exp Color")]
[Order(55, collapseWith = nameof(ShowRestedExp))]
public PluginConfigColor RestedExpColor = new PluginConfigColor(new Vector4(110f / 255f, 197f / 255f, 207f / 255f, 50f / 100f));
[NestedConfig("Left Text", 60)]
public EditableLabelConfig LeftLabel;
[NestedConfig("Right Text", 61)]
public EditableLabelConfig RightLabel;
[NestedConfig("Sanctuary Icon", 62)]
public IconLabelConfig SanctuaryLabel = new IconLabelConfig(new Vector2(5, 0), FontAwesomeIcon.Moon, DrawAnchor.Right, DrawAnchor.Left);
[NestedConfig("Visibility", 70)]
public VisibilityConfig VisibilityConfig = new VisibilityConfig();
public ExperienceBarConfig(Vector2 position, Vector2 size, PluginConfigColor fillColor) : base(position, size, fillColor)
{
LeftLabel = new EditableLabelConfig(new Vector2(5, 0), "[job] Lv[level] EXP [exp:current-short]/[exp:required-short]", DrawAnchor.BottomLeft, DrawAnchor.TopLeft);
RightLabel = new EditableLabelConfig(new Vector2(-5, 0), "([exp:percent]%)", DrawAnchor.BottomRight, DrawAnchor.TopRight);
}
public new static ExperienceBarConfig DefaultConfig()
{
return new ExperienceBarConfig(
new Vector2(0, -ImGui.GetMainViewport().Size.Y * 0.45f),
new Vector2(860, 10),
new PluginConfigColor(new Vector4(211f / 255f, 166f / 255f, 79f / 255f, 100f / 100f)));
}
}
}