mirror of
https://github.com/Ottermandias/Glamourer.git
synced 2025-12-12 10:17:23 +01:00
70 lines
4.3 KiB
C#
70 lines
4.3 KiB
C#
using System;
|
|
|
|
namespace Glamourer.Customization
|
|
{
|
|
public enum CustomizationId : byte
|
|
{
|
|
Race = 0,
|
|
Gender = 1,
|
|
BodyType = 2,
|
|
Height = 3,
|
|
Clan = 4,
|
|
Face = 5,
|
|
Hairstyle = 6,
|
|
HighlightsOnFlag = 7,
|
|
SkinColor = 8,
|
|
EyeColorR = 9,
|
|
HairColor = 10,
|
|
HighlightColor = 11,
|
|
FacialFeaturesTattoos = 12, // Bitmask, 1-7 per face, 8 is 1.0 tattoo
|
|
TattooColor = 13,
|
|
Eyebrows = 14,
|
|
EyeColorL = 15,
|
|
EyeShape = 16, // Flag 128 for Small
|
|
Nose = 17,
|
|
Jaw = 18,
|
|
Mouth = 19, // Flag 128 for Lip Color set
|
|
LipColor = 20, // Flag 128 for Light instead of Dark
|
|
MuscleToneOrTailEarLength = 21,
|
|
TailEarShape = 22,
|
|
BustSize = 23,
|
|
FacePaint = 24,
|
|
FacePaintColor = 25, // Flag 128 for Light instead of Dark.
|
|
}
|
|
|
|
public static class CustomizationExtensions
|
|
{
|
|
public static CharaMakeParams.MenuType ToType(this CustomizationId customizationId, bool isHrothgar = false)
|
|
=> customizationId switch
|
|
{
|
|
CustomizationId.Race => CharaMakeParams.MenuType.IconSelector,
|
|
CustomizationId.Gender => CharaMakeParams.MenuType.IconSelector,
|
|
CustomizationId.BodyType => CharaMakeParams.MenuType.IconSelector,
|
|
CustomizationId.Height => CharaMakeParams.MenuType.Percentage,
|
|
CustomizationId.Clan => CharaMakeParams.MenuType.IconSelector,
|
|
CustomizationId.Face => CharaMakeParams.MenuType.IconSelector,
|
|
CustomizationId.Hairstyle => CharaMakeParams.MenuType.IconSelector,
|
|
CustomizationId.HighlightsOnFlag => CharaMakeParams.MenuType.ListSelector,
|
|
CustomizationId.SkinColor => CharaMakeParams.MenuType.ColorPicker,
|
|
CustomizationId.EyeColorR => CharaMakeParams.MenuType.ColorPicker,
|
|
CustomizationId.HairColor => CharaMakeParams.MenuType.ColorPicker,
|
|
CustomizationId.HighlightColor => CharaMakeParams.MenuType.ColorPicker,
|
|
CustomizationId.FacialFeaturesTattoos => CharaMakeParams.MenuType.MultiIconSelector,
|
|
CustomizationId.TattooColor => CharaMakeParams.MenuType.ColorPicker,
|
|
CustomizationId.Eyebrows => CharaMakeParams.MenuType.ListSelector,
|
|
CustomizationId.EyeColorL => CharaMakeParams.MenuType.ColorPicker,
|
|
CustomizationId.EyeShape => CharaMakeParams.MenuType.ListSelector,
|
|
CustomizationId.Nose => CharaMakeParams.MenuType.ListSelector,
|
|
CustomizationId.Jaw => CharaMakeParams.MenuType.ListSelector,
|
|
CustomizationId.Mouth => CharaMakeParams.MenuType.ListSelector,
|
|
CustomizationId.MuscleToneOrTailEarLength => CharaMakeParams.MenuType.Percentage,
|
|
CustomizationId.TailEarShape => CharaMakeParams.MenuType.IconSelector,
|
|
CustomizationId.BustSize => CharaMakeParams.MenuType.Percentage,
|
|
CustomizationId.FacePaint => CharaMakeParams.MenuType.IconSelector,
|
|
CustomizationId.FacePaintColor => CharaMakeParams.MenuType.ColorPicker,
|
|
|
|
CustomizationId.LipColor => isHrothgar ? CharaMakeParams.MenuType.IconSelector : CharaMakeParams.MenuType.ColorPicker,
|
|
_ => throw new ArgumentOutOfRangeException(nameof(customizationId), customizationId, null),
|
|
};
|
|
}
|
|
}
|