feat: give enums human-friendly names

This commit is contained in:
Anna 2021-03-15 02:35:37 -04:00
parent 6125c60ab8
commit e44ad0ebc0
4 changed files with 74 additions and 10 deletions

View File

@ -626,9 +626,9 @@ namespace HUD_Manager {
ImGui.PushItemWidth(-1); ImGui.PushItemWidth(-1);
var measuredFrom = element.MeasuredFrom; var measuredFrom = element.MeasuredFrom;
if (ImGui.BeginCombo($"##measured-from-{kind}", measuredFrom.ToString())) { if (ImGui.BeginCombo($"##measured-from-{kind}", measuredFrom.Name())) {
foreach (var measured in (MeasuredFrom[]) Enum.GetValues(typeof(MeasuredFrom))) { foreach (var measured in (MeasuredFrom[]) Enum.GetValues(typeof(MeasuredFrom))) {
if (!ImGui.Selectable($"{measured}##{kind}", measuredFrom == measured)) { if (!ImGui.Selectable($"{measured.Name()}##{kind}", measuredFrom == measured)) {
continue; continue;
} }
@ -761,9 +761,9 @@ namespace HUD_Manager {
DrawSettingName("Style"); DrawSettingName("Style");
ImGui.PushItemWidth(-1); ImGui.PushItemWidth(-1);
if (ImGui.BeginCombo($"##style-{kind}", statusOpts.Style.ToString())) { if (ImGui.BeginCombo($"##style-{kind}", statusOpts.Style.Name())) {
foreach (var style in (StatusStyle[]) Enum.GetValues(typeof(StatusStyle))) { foreach (var style in (StatusStyle[]) Enum.GetValues(typeof(StatusStyle))) {
if (!ImGui.Selectable($"{style}##{kind}")) { if (!ImGui.Selectable($"{style.Name()}##{kind}")) {
continue; continue;
} }
@ -785,9 +785,9 @@ namespace HUD_Manager {
DrawSettingName("Layout"); DrawSettingName("Layout");
ImGui.PushItemWidth(-1); ImGui.PushItemWidth(-1);
if (ImGui.BeginCombo($"##layout-{kind}", statusOpts.Layout.ToString())) { if (ImGui.BeginCombo($"##layout-{kind}", statusOpts.Layout.Name())) {
foreach (var sLayout in (StatusLayout[]) Enum.GetValues(typeof(StatusLayout))) { foreach (var sLayout in (StatusLayout[]) Enum.GetValues(typeof(StatusLayout))) {
if (!ImGui.Selectable($"{sLayout}##{kind}")) { if (!ImGui.Selectable($"{sLayout.Name()}##{kind}")) {
continue; continue;
} }
@ -805,9 +805,9 @@ namespace HUD_Manager {
DrawSettingName("Alignment"); DrawSettingName("Alignment");
ImGui.PushItemWidth(-1); ImGui.PushItemWidth(-1);
if (ImGui.BeginCombo($"##alignment-{kind}", statusOpts.Alignment.ToString())) { if (ImGui.BeginCombo($"##alignment-{kind}", statusOpts.Alignment.Name())) {
foreach (var alignment in (StatusAlignment[]) Enum.GetValues(typeof(StatusAlignment))) { foreach (var alignment in (StatusAlignment[]) Enum.GetValues(typeof(StatusAlignment))) {
if (!ImGui.Selectable($"{alignment}##{kind}")) { if (!ImGui.Selectable($"{alignment.Name()}##{kind}")) {
continue; continue;
} }
@ -858,9 +858,9 @@ namespace HUD_Manager {
ImGui.PushItemWidth(-1); ImGui.PushItemWidth(-1);
if (ImGui.BeginCombo($"##hotbar-layout-{kind}", hotbarOpts.Layout.ToString())) { if (ImGui.BeginCombo($"##hotbar-layout-{kind}", hotbarOpts.Layout.Name())) {
foreach (var hotbarLayout in (HotbarLayout[]) Enum.GetValues(typeof(HotbarLayout))) { foreach (var hotbarLayout in (HotbarLayout[]) Enum.GetValues(typeof(HotbarLayout))) {
if (!ImGui.Selectable($"{hotbarLayout}##{kind}")) { if (!ImGui.Selectable($"{hotbarLayout.Name()}##{kind}")) {
continue; continue;
} }

View File

@ -14,6 +14,21 @@ namespace HUD_Manager.Structs {
} }
public static class MeasureFromExt { public static class MeasureFromExt {
public static string Name(this MeasuredFrom measuredFrom) {
return measuredFrom switch {
MeasuredFrom.TopLeft => "Top left",
MeasuredFrom.TopMiddle => "Top middle",
MeasuredFrom.TopRight => "Top right",
MeasuredFrom.MiddleLeft => "Middle left",
MeasuredFrom.Middle => "Middle",
MeasuredFrom.MiddleRight => "Middle right",
MeasuredFrom.BottomLeft => "Bottom left",
MeasuredFrom.BottomMiddle => "Bottom middle",
MeasuredFrom.BottomRight => "Bottom right",
_ => measuredFrom.ToString(),
};
}
public static Tuple<MeasuredX, MeasuredY> ToParts(this MeasuredFrom measured) { public static Tuple<MeasuredX, MeasuredY> ToParts(this MeasuredFrom measured) {
return measured switch { return measured switch {
MeasuredFrom.TopLeft => Tuple.Create(MeasuredX.Left, MeasuredY.Top), MeasuredFrom.TopLeft => Tuple.Create(MeasuredX.Left, MeasuredY.Top),

View File

@ -25,4 +25,18 @@
TwoBySix = 5, TwoBySix = 5,
OneByTwelve = 6, OneByTwelve = 6,
} }
public static class HotbarLayoutExt {
public static string Name(this HotbarLayout layout) {
return layout switch {
HotbarLayout.TwelveByOne => "12x1",
HotbarLayout.SixByTwo => "6x2",
HotbarLayout.FourByThree => "4x3",
HotbarLayout.ThreeByFour => "3x4",
HotbarLayout.TwoBySix => "2x6",
HotbarLayout.OneByTwelve => "1x12",
_ => layout.ToString(),
};
}
}
} }

View File

@ -22,6 +22,19 @@ namespace HUD_Manager.Structs.Options {
ThreeGroups = 0, ThreeGroups = 0,
} }
public static class StatusStyleExt {
public static string Name(this StatusStyle style) {
return style switch {
StatusStyle.Normal => "Normal",
StatusStyle.NormalLeftJustified1 => "Normal (left-justified 1)",
StatusStyle.NormalLeftJustified2 => "Normal (left-justified 2)",
StatusStyle.NormalLeftJustified3 => "Normal (left-justified 3)",
StatusStyle.ThreeGroups => "Split into three groups",
_ => style.ToString(),
};
}
}
public class StatusInfoOptions { public class StatusInfoOptions {
private const int GamepadBit = 1 << 4; private const int GamepadBit = 1 << 4;
@ -104,11 +117,33 @@ namespace HUD_Manager.Structs.Options {
FiveByFour, FiveByFour,
} }
public static class StatusLayoutExt {
public static string Name(this StatusLayout layout) {
return layout switch {
StatusLayout.TwentyByOne => "20x1",
StatusLayout.TenByTwo => "10x2",
StatusLayout.SevenByThree => "7x3",
StatusLayout.FiveByFour => "5x4",
_ => layout.ToString(),
};
}
}
public enum StatusAlignment { public enum StatusAlignment {
LeftJustified, LeftJustified,
RightJustified, RightJustified,
} }
public static class StatusAlignmentExt {
public static string Name(this StatusAlignment alignment) {
return alignment switch {
StatusAlignment.LeftJustified => "Left-justified",
StatusAlignment.RightJustified => "Right-justified",
_ => alignment.ToString(),
};
}
}
public enum StatusGamepad { public enum StatusGamepad {
Focusable, Focusable,
NonFocusable, NonFocusable,