mirror of
https://github.com/aharabada/glitchy-engine-beef.git
synced 2026-09-05 21:01:52 +00:00
Print pretty names and support LabelAttribute for enum cases
This commit is contained in:
@@ -376,7 +376,31 @@ internal class EntityEditor
|
|||||||
{
|
{
|
||||||
foreach (object enumValue in Enum.GetValues(fieldType))
|
foreach (object enumValue in Enum.GetValues(fieldType))
|
||||||
{
|
{
|
||||||
if (ImGui.Selectable(enumValue.ToString(), enumValue == reference))
|
string enumValueName = enumValue.ToString();
|
||||||
|
|
||||||
|
FieldInfo? fieldInfo = fieldType.GetField(enumValueName);
|
||||||
|
|
||||||
|
string enumValueLabel;
|
||||||
|
|
||||||
|
if (fieldInfo != null)
|
||||||
|
{
|
||||||
|
LabelAttribute label = (LabelAttribute)Attribute.GetCustomAttribute(fieldInfo, typeof(LabelAttribute));
|
||||||
|
|
||||||
|
if (label != null)
|
||||||
|
{
|
||||||
|
enumValueLabel = label.Label ?? enumValueName;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
enumValueLabel = enumValueName.ToPrettyName();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
enumValueLabel = enumValueName.ToPrettyName();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ImGui.Selectable(enumValueLabel, enumValue == reference))
|
||||||
{
|
{
|
||||||
newValue = enumValue;
|
newValue = enumValue;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user