public void SetRandomParamsExceptKeys(int gender, int minAge, out float scale)
        {
            int hairNum         = 0;
            int beardNum        = 0;
            int faceTextureNum  = 0;
            int mouthTextureNum = 0;
            int eyebrowNum      = 0;
            int soundNum        = 0;
            int faceTattooNum   = 0;

            scale = 0.0f;
            MBBodyProperties.GetParamsMax(gender, minAge, ref hairNum, ref beardNum, ref faceTextureNum, ref mouthTextureNum, ref faceTattooNum, ref soundNum, ref eyebrowNum, ref scale);
            this._currentHair               = MBRandom.RandomInt(hairNum);
            this._curBeard                  = MBRandom.RandomInt(beardNum);
            this._curFaceTexture            = MBRandom.RandomInt(faceTextureNum);
            this._curMouthTexture           = MBRandom.RandomInt(mouthTextureNum);
            this._curFaceTattoo             = MBRandom.RandomInt(faceTattooNum);
            this._currentVoice              = MBRandom.RandomInt(soundNum);
            this._voicePitch                = MBRandom.RandomFloat;
            this._curEyebrow                = MBRandom.RandomInt(eyebrowNum);
            this._curSkinColorOffset        = MBRandom.RandomFloat;
            this._curHairColorOffset        = MBRandom.RandomFloat;
            this._curEyeColorOffset         = MBRandom.RandomFloat;
            this._curFaceTattooColorOffset1 = MBRandom.RandomFloat;
            this._heightMultiplier          = MBRandom.RandomFloat;
        }
        public void SetGenderAndAdjustParams(int gender, int curAge)
        {
            this._currentGender = gender;
            int   hairNum         = 0;
            int   beardNum        = 0;
            int   faceTextureNum  = 0;
            int   mouthTextureNum = 0;
            int   eyebrowNum      = 0;
            int   soundNum        = 0;
            int   faceTattooNum   = 0;
            float scale           = 0.0f;

            MBBodyProperties.GetParamsMax(gender, curAge, ref hairNum, ref beardNum, ref faceTextureNum, ref mouthTextureNum, ref faceTattooNum, ref soundNum, ref eyebrowNum, ref scale);
            this._currentHair     = MBMath.ClampInt(this._currentHair, 0, hairNum - 1);
            this._curBeard        = MBMath.ClampInt(this._curBeard, 0, beardNum - 1);
            this._curFaceTexture  = MBMath.ClampInt(this._curFaceTexture, 0, faceTextureNum - 1);
            this._curMouthTexture = MBMath.ClampInt(this._curMouthTexture, 0, mouthTextureNum - 1);
            this._curFaceTattoo   = MBMath.ClampInt(this._curFaceTattoo, 0, faceTattooNum - 1);
            this._currentVoice    = MBMath.ClampInt(this._currentVoice, 0, soundNum - 1);
            this._voicePitch      = MBMath.ClampFloat(this._voicePitch, 0.0f, 1f);
            this._curEyebrow      = MBMath.ClampInt(this._curEyebrow, 0, eyebrowNum - 1);
        }