Exemplo n.º 1
0
 public MuscleConnectionFile(int MusTbl, MuscleType MusType, int STbl, int SSt)
 {
     muscleTable = MusTbl;
     type        = MusType;
     startTable  = STbl;
     startSeat   = SSt;
 }
Exemplo n.º 2
0
 public static MuscleType Update(this MuscleType _this, Version version)
 {
     if (!IsIncludeUpperChest(version))
     {
         if (_this >= MuscleType.UpperchestFrontBack)
         {
             _this += 3;
         }
     }
     return(_this);
 }
Exemplo n.º 3
0
 public bool isEndpoint(int table, MuscleType location)
 {
     if (table.Equals(muscleTable) && location.Equals(type))
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }
Exemplo n.º 4
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());
 }
Exemplo n.º 5
0
        public static HumanoidMuscleType Update(this HumanoidMuscleType _this, Version version)
        {
            if (_this < HumanoidMuscleType.Muscles)
            {
                return(_this);
            }

            MuscleType muscle      = (MuscleType)(_this - HumanoidMuscleType.Muscles);
            MuscleType fixedMuscle = muscle.Update(version);

            _this = HumanoidMuscleType.Muscles + (int)fixedMuscle;
            if (_this < HumanoidMuscleType.TDoFBones)
            {
                return(_this);
            }

            TDoFBoneType tdof      = (TDoFBoneType)(_this - HumanoidMuscleType.TDoFBones);
            TDoFBoneType fixedTdof = tdof.Update(version);

            _this = HumanoidMuscleType.TDoFBones + (int)fixedTdof;
            return(_this);
        }
Exemplo n.º 6
0
        public static string ToAttributeString(this MuscleType _this)
        {
            switch (_this)
            {
            case MuscleType.SpineFrontBack:
                return("Spine Front-Back");

            case MuscleType.SpineLeftRight:
                return("Spine Left-Right");

            case MuscleType.SpineTwistLeftRight:
                return("Spine Twist Left-Right");

            case MuscleType.ChestFrontBack:
                return("Chest Front-Back");

            case MuscleType.ChestLeftRight:
                return("Chest Left-Right");

            case MuscleType.ChestTwistLeftRight:
                return("Chest Twist Left-Right");

            case MuscleType.UpperchestFrontBack:
                return("UpperChest Front-Back");

            case MuscleType.UpperchestLeftRight:
                return("UpperChest Left-Right");

            case MuscleType.UpperchestTwisLeftRight:
                return("UpperChest Twist Left-Right");

            case MuscleType.NeckNodDownUp:
                return("Neck Nod Down-Up");

            case MuscleType.NeckTiltLeftRight:
                return("Neck Tilt Left-Right");

            case MuscleType.NeckTurnLeftRight:
                return("Neck Turn Left-Right");

            case MuscleType.HeadNodDownUp:
                return("Head Nod Down-Up");

            case MuscleType.HeadTiltLeftRight:
                return("Head Tilt Left-Right");

            case MuscleType.HeadTurnLeftRight:
                return("Head Turn Left-Right");

            case MuscleType.LeftEyeDownUp:
                return("Left Eye Down-Up");

            case MuscleType.LeftEyeInOut:
                return("Left Eye In-Out");

            case MuscleType.RightEyeDownUp:
                return("Right Eye Down-Up");

            case MuscleType.RightEyeInOut:
                return("Right Eye In-Out");

            case MuscleType.JawClose:
                return("Jaw Close");

            case MuscleType.JawLeftRight:
                return("Jaw Left-Right");

            case MuscleType.LeftUpperLegFrontBack:
                return("Left Upper Leg Front-Back");

            case MuscleType.LeftUpperLegInOut:
                return("Left Upper Leg In-Out");

            case MuscleType.LeftUpperLegTwistInOut:
                return("Left Upper Leg Twist In-Out");

            case MuscleType.LeftLowerLegStretch:
                return("Left Lower Leg Stretch");

            case MuscleType.LeftLowerLegTwistInOut:
                return("Left Lower Leg Twist In-Out");

            case MuscleType.LeftFootUpDown:
                return("Left Foot Up-Down");

            case MuscleType.LeftFootTwistInOut:
                return("Left Foot Twist In-Out");

            case MuscleType.LeftToesUpDown:
                return("Left Toes Up-Down");

            case MuscleType.RightUpperLegFrontBack:
                return("Right Upper Leg Front-Back");

            case MuscleType.RightUpperLegInOut:
                return("Right Upper Leg In-Out");

            case MuscleType.RightUpperLegTwistInOut:
                return("Right Upper Leg Twist In-Out");

            case MuscleType.RightLowerLegStretch:
                return("Right Lower Leg Stretch");

            case MuscleType.RightLowerLegTwistInOut:
                return("Right Lower Leg Twist In-Out");

            case MuscleType.RightFootUpDown:
                return("Right Foot Up-Down");

            case MuscleType.RightFootTwistInOut:
                return("Right Foot Twist In-Out");

            case MuscleType.RightToesUpDown:
                return("Right Toes Up-Down");

            case MuscleType.LeftShoulderDownUp:
                return("Left Shoulder Down-Up");

            case MuscleType.LeftShoulderFrontBack:
                return("Left Shoulder Front-Back");

            case MuscleType.LeftArmDownUp:
                return("Left Arm Down-Up");

            case MuscleType.LeftArmFrontBack:
                return("Left Arm Front-Back");

            case MuscleType.LeftArmTwistInOut:
                return("Left Arm Twist In-Out");

            case MuscleType.LeftForearmStretch:
                return("Left Forearm Stretch");

            case MuscleType.LeftForearmTwistInOut:
                return("Left Forearm Twist In-Out");

            case MuscleType.LeftHandDownUp:
                return("Left Hand Down-Up");

            case MuscleType.LeftHandInOut:
                return("Left Hand In-Out");

            case MuscleType.RightShoulderDownUp:
                return("Right Shoulder Down-Up");

            case MuscleType.RightShoulderFrontBack:
                return("Right Shoulder Front-Back");

            case MuscleType.RightArmDownUp:
                return("Right Arm Down-Up");

            case MuscleType.RightArmFrontBack:
                return("Right Arm Front-Back");

            case MuscleType.RightArmTwistInOut:
                return("Right Arm Twist In-Out");

            case MuscleType.RightForearmStretch:
                return("Right Forearm Stretch");

            case MuscleType.RightForearmTwistInOut:
                return("Right Forearm Twist In-Out");

            case MuscleType.RightHandDownUp:
                return("Right Hand Down-Up");

            case MuscleType.RightHandInOut:
                return("Right Hand In-Out");

            default:
                throw new ArgumentException(_this.ToString());
            }
        }
Exemplo n.º 7
0
 internal MuscleGroup(int gnID, MuscleType gn)
 {
     GroupNameID = gnID;
     GroupName   = gn;
 }
Exemplo n.º 8
0
 public MuscleRef(int t, MuscleType m)
 {
     table = t;
     type  = m;
 }
Exemplo n.º 9
0
 public static bool IsSmallExercise(this MuscleType muscleType)
 {
     return(muscleType == MuscleType.Triceps || muscleType == MuscleType.Biceps || muscleType == MuscleType.Shoulders);
 }
Exemplo n.º 10
0
        public Dictionary <RepsType, ExerciseSetting> GetRelevantExerciseData(int exercisePosition,
                                                                              TrainerLevelType level,
                                                                              MuscleType muscleType)
        {
            RepsType[] repTypes;
            if (exercisePosition == 0)
            {
                switch (level)
                {
                case TrainerLevelType.Novice:
                    repTypes = new[] { RepsType.HighNovice, RepsType.MedNovice };
                    break;

                case TrainerLevelType.Intermediate:
                    if (!muscleType.IsSmallExercise())
                    {
                        repTypes = new[] { RepsType.MedInter, RepsType.HighInter, RepsType.Low };
                    }
                    else
                    {
                        repTypes = new[] { RepsType.MedInter, RepsType.HighInter };
                    }

                    break;

                case TrainerLevelType.Advanced:
                    repTypes = new[] { RepsType.MedAdvanced, RepsType.Low };
                    if (!muscleType.IsSmallExercise())
                    {
                        repTypes = new[] { RepsType.MedAdvanced, RepsType.Low };
                    }
                    else
                    {
                        repTypes = new[] { RepsType.MedAdvanced, RepsType.HighAdvanced };
                    }

                    break;

                default:
                    throw new ArgumentOutOfRangeException();
                }
            }

            else
            {
                switch (level)
                {
                case TrainerLevelType.Novice:
                    repTypes = new[] { RepsType.HighNovice, RepsType.MedNovice };
                    break;

                case TrainerLevelType.Intermediate:
                    repTypes = new[] { RepsType.MedInter, RepsType.HighInter };
                    break;

                case TrainerLevelType.Advanced:
                    repTypes = new[] { RepsType.MedAdvanced, RepsType.HighAdvanced };
                    break;

                default:
                    throw new ArgumentOutOfRangeException();
                }
            }

            var relevantExerciseSettings = ExerciseData
                                           .Where(x => repTypes.Any(rep => x.Key == rep))
                                           .ToDictionary(x => x.Key, y => y.Value);

            return(relevantExerciseSettings);
        }