Ejemplo n.º 1
0
 public static string ToAttributeString(this HumanoidMuscleType _this)
 {
     if (_this < HumanoidMuscleType.Root)
     {
         int delta = _this - HumanoidMuscleType.Motion;
         return(nameof(HumanoidMuscleType.Motion) + GetTransformPostfix(delta % 7));
     }
     if (_this < HumanoidMuscleType.Limbs)
     {
         int delta = _this - HumanoidMuscleType.Root;
         return(nameof(HumanoidMuscleType.Root) + GetTransformPostfix(delta % 7));
     }
     if (_this < HumanoidMuscleType.Muscles)
     {
         int      delta = _this - HumanoidMuscleType.Limbs;
         LimbType limb  = (LimbType)(delta / 7);
         return(limb.ToBoneType().ToAttributeString() + GetTransformPostfix(delta % 7));
     }
     if (_this < HumanoidMuscleType.Fingers)
     {
         int        delta  = _this - HumanoidMuscleType.Muscles;
         MuscleType muscle = (MuscleType)delta;
         return(muscle.ToAttributeString());
     }
     if (_this < HumanoidMuscleType.TDoFBones)
     {
         const int armSize = (int)FingerType.Last * (int)FingerDoFType.Last;
         const int dofSize = (int)FingerDoFType.Last;
         int       delta   = _this - HumanoidMuscleType.Fingers;
         ArmType   arm     = (ArmType)(delta / armSize);
         delta = delta % armSize;
         FingerType finger = (FingerType)(delta / dofSize);
         delta = delta % dofSize;
         FingerDoFType dof = (FingerDoFType)delta;
         return($"{arm.ToBoneType().ToAttributeString()}.{finger.ToAttributeString()}.{dof.ToAttributeString()}");
     }
     if (_this < HumanoidMuscleType.Last)
     {
         const int    TDoFSize = (int)TDoFBoneType.Last;
         int          delta    = _this - HumanoidMuscleType.TDoFBones;
         TDoFBoneType tdof     = (TDoFBoneType)(delta / TDoFSize);
         return($"{tdof.ToBoneType().ToAttributeString()}{GetTDoFTransformPostfix(delta % TDoFSize)}");
     }
     throw new ArgumentException(_this.ToString());
 }
Ejemplo n.º 2
0
        public static string ToAttributeString(this FingerDoFType _this)
        {
            switch (_this)
            {
            case FingerDoFType._1Stretched:
                return("1 Stretched");

            case FingerDoFType.Spread:
                return("Spread");

            case FingerDoFType._2Stretched:
                return("2 Stretched");

            case FingerDoFType._3Stretched:
                return("3 Stretched");

            default:
                throw new ArgumentException(_this.ToString());
            }
        }