Files

76 lines
2.4 KiB
C#

using HSUI.Config;
using HSUI.Config.Attributes;
using HSUI.Interface.Bars;
using System.Numerics;
namespace HSUI.Interface.GeneralElements
{
[DisableParentSettings("Position")]
[Section("Other Elements")]
[SubSection("MP Ticker", 0)]
public class MPTickerConfig : MovablePluginConfigObject
{
[Checkbox("Hide on Full MP", spacing = false)]
[Order(15)]
public bool HideOnFullMP = true;
[Checkbox("Enable Only for BLM")]
[Order(20)]
public bool EnableOnlyForBLM = false;
[Checkbox("Show Only During Umbral Ice")]
[Order(25, collapseWith = nameof(EnableOnlyForBLM))]
public bool ShowOnlyDuringUmbralIce = true;
[NestedConfig("MP Ticker Bar", 30)]
public MPTickerBarConfig Bar = new MPTickerBarConfig(
Vector2.Zero,
new Vector2(254, 8),
new PluginConfigColor(new(240f / 255f, 92f / 255f, 232f / 255f, 100f / 100f))
);
[NestedConfig("Visibility", 70)]
public VisibilityConfig VisibilityConfig = new VisibilityConfig();
public new static MPTickerConfig DefaultConfig()
{
var config = new MPTickerConfig();
config.Enabled = false;
config.Bar.Position = new Vector2(0, HUDConstants.BaseHUDOffsetY + 27);
return config;
}
}
[Disableable(false)]
[DisableParentSettings("HideWhenInactive")]
[Exportable(false)]
public class MPTickerBarConfig : BarConfig
{
[NestedConfig("Fire III Threshold (BLM only)", 50, separator = false, spacing = true)]
public MPTickerFire3ThresholdConfig Fire3Threshold = new MPTickerFire3ThresholdConfig();
public MPTickerBarConfig(Vector2 position, Vector2 size, PluginConfigColor fillColor)
: base(position, size, fillColor)
{
}
}
[Exportable(false)]
[DisableParentSettings("Value")]
public class MPTickerFire3ThresholdConfig : ThresholdConfig
{
[DragFloat("Estimated Fire III Cast Time", min = 0f, max = 10)]
[Order(11)]
public float Fire3CastTime = 1.5f;
public MPTickerFire3ThresholdConfig()
{
Enabled = false;
ThresholdType = ThresholdType.Above;
ShowMarker = true;
MarkerColor = new(new Vector4(255f / 255f, 136f / 255f, 0 / 255f, 90f / 100f));
}
}
}