mirror of
https://github.com/xivdev/Penumbra.git
synced 2025-12-12 18:27:24 +01:00
52 lines
No EOL
1.3 KiB
C#
52 lines
No EOL
1.3 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
|
|
namespace Penumbra.GameData.Enums;
|
|
|
|
public enum BodySlot : byte
|
|
{
|
|
Unknown,
|
|
Hair,
|
|
Face,
|
|
Tail,
|
|
Body,
|
|
Zear,
|
|
}
|
|
|
|
public static class BodySlotEnumExtension
|
|
{
|
|
public static string ToSuffix( this BodySlot value )
|
|
=> value switch
|
|
{
|
|
BodySlot.Zear => "zear",
|
|
BodySlot.Face => "face",
|
|
BodySlot.Hair => "hair",
|
|
BodySlot.Body => "body",
|
|
BodySlot.Tail => "tail",
|
|
_ => throw new InvalidEnumArgumentException(),
|
|
};
|
|
|
|
public static char ToAbbreviation(this BodySlot value)
|
|
=> value switch
|
|
{
|
|
BodySlot.Hair => 'h',
|
|
BodySlot.Face => 'f',
|
|
BodySlot.Tail => 't',
|
|
BodySlot.Body => 'b',
|
|
BodySlot.Zear => 'z',
|
|
_ => throw new InvalidEnumArgumentException(),
|
|
};
|
|
}
|
|
|
|
public static partial class Names
|
|
{
|
|
public static readonly Dictionary< string, BodySlot > StringToBodySlot = new()
|
|
{
|
|
{ BodySlot.Zear.ToSuffix(), BodySlot.Zear },
|
|
{ BodySlot.Face.ToSuffix(), BodySlot.Face },
|
|
{ BodySlot.Hair.ToSuffix(), BodySlot.Hair },
|
|
{ BodySlot.Body.ToSuffix(), BodySlot.Body },
|
|
{ BodySlot.Tail.ToSuffix(), BodySlot.Tail },
|
|
};
|
|
} |