71 lines
5.8 KiB
C#

using UnityEngine;
namespace UniHumanoid
{
public static class EnumExtensions
{
public static string ToStringFromEnum(this HumanBodyBones val, bool compareBoneTrait = false)
{
switch (val)
{
case HumanBodyBones.Hips: return "Hips";
case HumanBodyBones.LeftUpperLeg: return "LeftUpperLeg";
case HumanBodyBones.RightUpperLeg: return "RightUpperLeg";
case HumanBodyBones.LeftLowerLeg: return "LeftLowerLeg";
case HumanBodyBones.RightLowerLeg: return "RightLowerLeg";
case HumanBodyBones.LeftFoot: return "LeftFoot";
case HumanBodyBones.RightFoot: return "RightFoot";
case HumanBodyBones.Spine: return "Spine";
case HumanBodyBones.Chest: return "Chest";
case HumanBodyBones.Neck: return "Neck";
case HumanBodyBones.Head: return "Head";
case HumanBodyBones.LeftShoulder: return "LeftShoulder";
case HumanBodyBones.RightShoulder: return "RightShoulder";
case HumanBodyBones.LeftUpperArm: return "LeftUpperArm";
case HumanBodyBones.RightUpperArm: return "RightUpperArm";
case HumanBodyBones.LeftLowerArm: return "LeftLowerArm";
case HumanBodyBones.RightLowerArm: return "RightLowerArm";
case HumanBodyBones.LeftHand: return "LeftHand";
case HumanBodyBones.RightHand: return "RightHand";
case HumanBodyBones.LeftToes: return "LeftToes";
case HumanBodyBones.RightToes: return "RightToes";
case HumanBodyBones.LeftEye: return "LeftEye";
case HumanBodyBones.RightEye: return "RightEye";
case HumanBodyBones.Jaw: return "Jaw";
case HumanBodyBones.LeftThumbProximal: return compareBoneTrait ? "Left Thumb Proximal" : "LeftThumbProximal";
case HumanBodyBones.LeftThumbIntermediate: return compareBoneTrait ? "Left Thumb Intermediate" : "LeftThumbIntermediate";
case HumanBodyBones.LeftThumbDistal: return compareBoneTrait ? "Left Thumb Distal" : "LeftThumbDistal";
case HumanBodyBones.LeftIndexProximal: return compareBoneTrait ? "Left Index Proximal" : "LeftIndexProximal";
case HumanBodyBones.LeftIndexIntermediate: return compareBoneTrait ? "Left Index Intermediate" : "LeftIndexIntermediate";
case HumanBodyBones.LeftIndexDistal: return compareBoneTrait ? "Left Index Distal" : "LeftIndexDistal";
case HumanBodyBones.LeftMiddleProximal: return compareBoneTrait ? "Left Middle Proximal" : "LeftMiddleProximal";
case HumanBodyBones.LeftMiddleIntermediate: return compareBoneTrait ? "Left Middle Intermediate" : "LeftMiddleIntermediate";
case HumanBodyBones.LeftMiddleDistal: return compareBoneTrait ? "Left Middle Distal" : "LeftMiddleDistal";
case HumanBodyBones.LeftRingProximal: return compareBoneTrait ? "Left Ring Proximal" : "LeftRingProximal";
case HumanBodyBones.LeftRingIntermediate: return compareBoneTrait ? "Left Ring Intermediate" : "LeftRingIntermediate";
case HumanBodyBones.LeftRingDistal: return compareBoneTrait ? "Left Ring Distal" : "LeftRingDistal";
case HumanBodyBones.LeftLittleProximal: return compareBoneTrait ? "Left Little Proximal" : "LeftLittleProximal";
case HumanBodyBones.LeftLittleIntermediate: return compareBoneTrait ? "Left Little Intermediate" : "LeftLittleIntermediate";
case HumanBodyBones.LeftLittleDistal: return compareBoneTrait ? "Left Little Distal" : "LeftLittleDistal";
case HumanBodyBones.RightThumbProximal: return compareBoneTrait ? "Right Thumb Proximal" : "RightThumbProximal";
case HumanBodyBones.RightThumbIntermediate: return compareBoneTrait ? "Right Thumb Intermediate" : "RightThumbIntermediate";
case HumanBodyBones.RightThumbDistal: return compareBoneTrait ? "Right Thumb Distal" : "RightThumbDistal";
case HumanBodyBones.RightIndexProximal: return compareBoneTrait ? "Right Index Proximal" : "RightIndexProximal";
case HumanBodyBones.RightIndexIntermediate: return compareBoneTrait ? "Right Index Intermediate" : "RightIndexIntermediate";
case HumanBodyBones.RightIndexDistal: return compareBoneTrait ? "Right Index Distal" : "RightIndexDistal";
case HumanBodyBones.RightMiddleProximal: return compareBoneTrait ? "Right Middle Proximal" : "RightMiddleProximal";
case HumanBodyBones.RightMiddleIntermediate: return compareBoneTrait ? "Right Middle Intermediate" : "RightMiddleIntermediate";
case HumanBodyBones.RightMiddleDistal: return compareBoneTrait ? "Right Middle Distal" : "RightMiddleDistal";
case HumanBodyBones.RightRingProximal: return compareBoneTrait ? "Right Ring Proximal" : "RightRingProximal";
case HumanBodyBones.RightRingIntermediate: return compareBoneTrait ? "Right Ring Intermediate" : "RightRingIntermediate";
case HumanBodyBones.RightRingDistal: return compareBoneTrait ? "Right Ring Distal" : "RightRingDistal";
case HumanBodyBones.RightLittleProximal: return compareBoneTrait ? "Right Little Proximal" : "RightLittleProximal";
case HumanBodyBones.RightLittleIntermediate: return compareBoneTrait ? "Right Little Intermediate" : "RightLittleIntermediate";
case HumanBodyBones.RightLittleDistal: return compareBoneTrait ? "Right Little Distal" : "RightLittleDistal";
case HumanBodyBones.UpperChest: return "UpperChest";
case HumanBodyBones.LastBone: return "LastBone";
default: throw new System.InvalidOperationException();
}
}
}
}