예제 #1
0
 void OnSelectionChange()
 {
     if (Selection.activeObject && Selection.activeObject.GetType().ToString() == "DKRaceData")
     {
         _RaceData = (Selection.activeObject as DKRaceData);
         RaceName  = _RaceData.raceName;
         Race      = _RaceData.Race;
     }
 }
예제 #2
0
    public void SelectModel()
    {
        try{
            EditedModel = tempUMA.transform.parent;
                        #if UNITY_EDITOR
            Selection.activeGameObject = tempUMA.transform.parent.gameObject;
            Selection.activeGameObject = tempUMA.transform.gameObject;
                        #endif

            _RaceData = tempUMA.umaRecipe.raceData;
        }catch (NullReferenceException) {}


        if (tempUMA)
        {
            /*	if (Input.GetKey(KeyCode.LeftShift) || Input.GetKey(KeyCode.RightShift))
             *      {
             *              if (umaData)
             *              {
             *                      tempUMA.SaveToMemoryStream();
             *                      umaData.streamedUMA = tempUMA.streamedUMA;
             *                      umaData.LoadFromMemoryStream();
             *                      umaData.Dirty(true, true, true);
             *
             *              }
             *              return;
             *      }*/

            //Clear saved data of old UMA
            if (umaData)
            {
                umaData.streamedUMA = null;
            }
            //						Debug.Log ( tempUMA.transform.parent.name + " selected" );
            umaData = tempUMA;
            if (cameraTrack)
            {
                cameraTrack.target = umaData.transform;
            }

            //	umaDna = umaData.umaRecipe.umaDna[typeof(DKUMADnaHumanoid)] as DKUMADnaHumanoid;
            umaDna = new DKUMADnaHumanoid();

            ReceiveValues();

            //Save functionality
            umaData.SaveToMemoryStream();
        }
    }
예제 #3
0
    public void AddRace(DKRaceData race)
    {
        for (int i = 0; i < raceElementList.Length; i++)
        {
            if (raceElementList[i].raceName == race.raceName)
            {
                raceElementList[i] = race;
                return;
            }
        }
        var list = new DKRaceData[raceElementList.Length + 1];

        Array.Copy(raceElementList, list, raceElementList.Length);
        list[raceElementList.Length] = race;
        raceElementList = list;
        raceDictionary.Add(race.raceName, race);
    }
예제 #4
0
    void OnSelectionChange()
    {
        if (Selection.activeObject)
        {
            if (Selection.activeObject.GetType().ToString() == "DKRaceData" && Statut == "ApplyToRace")
            {
                _RaceData = (Selection.activeObject as DKRaceData);
            }

            if (Selection.activeObject.GetType().ToString() == "ColorPresetData")
            {
                SelectedColorPreset       = Selection.activeObject as ColorPresetData;
                ColorPresetName           = SelectedColorPreset.name;
                SelectedPresetOverlayType = SelectedColorPreset.OverlayType;
                CurrentElementColor       = SelectedColorPreset.PresetColor;
            }
        }
    }
예제 #5
0
    public static void ChooseBodyOverlay(DKSlotData _slot, DKOverlayData overlay, DK_RPG_UMA _DK_RPG_UMA)
    {
        DKRaceData _Race = _DK_RPG_UMA.RaceData;

        // _Head
        if (_DK_RPG_UMA.Gender == "Male")
        {
            if (overlay == null && _Race._Male._AvatarData._Body._Torso.OverlayList.Count > 0)
            {
                int ran = UnityEngine.Random.Range(0, _Race._Male._AvatarData._Body._Torso.OverlayList.Count);
                overlay = _Race._Male._AvatarData._Body._Torso.OverlayList[ran];
            }
        }
        if (_DK_RPG_UMA.Gender == "Female")
        {
            if (overlay == null && _Race._Female._AvatarData._Body._Torso.OverlayList.Count > 0)
            {
                int ran = UnityEngine.Random.Range(0, _Race._Female._AvatarData._Body._Torso.OverlayList.Count);
                overlay = _Race._Female._AvatarData._Body._Torso.OverlayList[ran];
            }
        }
        _DK_RPG_UMA._Avatar._Body._Torso.Overlay = overlay;
        Rebuild(_DK_RPG_UMA);
    }
예제 #6
0
 internal void SetRace(DKRaceData raceData)
 {
     this.raceData = raceData;
     ClearDNAConverters();
 }
예제 #7
0
 public static void OnSelectionChange()
 {
     if (Selection.activeObject && DK_UMA_Editor.ShowPrepare)
     {
         if (Selection.activeObject.GetType().ToString() == "DKRaceData" ||
             Selection.activeObject.GetType().ToString() == "DKSlotData" ||
             Selection.activeObject.GetType().ToString() == "DKOverlayData")
         {
             DK_UMA_Editor.SelectedPrefabName = Selection.activeObject.name;
             if (Selection.activeObject.GetType().ToString() == "DKRaceData")
             {
                 DKRaceData SelectedData = (Selection.activeObject as DKRaceData);
                 EditorVariables.SelectedElementName = SelectedData.raceName;
                 DK_UMA_Editor._Name = SelectedData.Race;
                 EditorVariables.SelectedElementGender = SelectedData.Gender;
                 EditorVariables.SelectedElementObj    = Selection.activeObject as GameObject;
             }
             if (Selection.activeObject.GetType().ToString() == "DKSlotData")
             {
                 DKSlotData SelectedData = (Selection.activeObject as DKSlotData);
                 EditorVariables.SelectedElementName        = SelectedData.slotName;
                 EditorVariables.SelectedElementGender      = SelectedData.Gender;
                 EditorVariables.overlayList                = SelectedData.overlayList;
                 EditorVariables.SelectedElementObj         = Selection.activeObject as GameObject;
                 EditorVariables.SelectedElementOverlayType = SelectedData.OverlayType;
                 EditorVariables.SelectedElementWearWeight  = SelectedData.WearWeight;
                 EditorVariables.Replace = SelectedData.Replace;
                 if (SelectedData.Place != null)
                 {
                     EditorVariables.SelectedElemPlace = SelectedData.Place;
                 }
             }
             if (Selection.activeObject.GetType().ToString() == "DKOverlayData")
             {
                 DKOverlayData SelectedData = (Selection.activeObject as DKOverlayData);
                 EditorVariables.SelectedElementName        = SelectedData.overlayName;
                 EditorVariables.SelectedElementGender      = SelectedData.Gender;
                 EditorVariables.SelectedElementObj         = Selection.activeObject as GameObject;
                 EditorVariables.SelectedElementOverlayType = SelectedData.OverlayType;
                 EditorVariables.SelectedElementWearWeight  = SelectedData.WearWeight;
                 if (SelectedData.Place != null)
                 {
                     EditorVariables.SelectedElemPlace = SelectedData.Place;
                 }
             }
         }
     }
     if (DK_UMA_Editor.showModify)
     {
         // colors
         GameObject UMACustomObj = GameObject.Find("DKUMACustomization");
         if (UMACustomObj != null)
         {
             EditorVariables.DK_DKUMACustomization = UMACustomObj.GetComponent <DKUMACustomization>();
             if (Selection.activeGameObject != null)
             {
                 foreach (Transform Child in Selection.activeGameObject.transform)
                 {
                     if (Child.gameObject.GetComponent <DKUMAData>() != null)
                     {
                         EditorVariables.DK_DKUMACustomization.EditedModel = Child;
                         DK_UMA_Editor.EditedModel = Child;
                     }
                 }
             }
         }
     }
     if (Selection.activeGameObject && Selection.activeGameObject.GetComponent <DK_Race>() != null)
     {
         DK_Race _DK_Race = Selection.activeGameObject.GetComponent <DK_Race>();
         DK_UMA_Editor._SpawnPerct = _DK_Race.SpawnPerct.ToString();
     }
     EditorVariables.SelectedElemSlot   = null;
     EditorVariables.SelectedElemOvlay  = null;
     EditorVariables.SelectedElementObj = null;
 }
예제 #8
0
    public static void UpdateDNABones(DKUMAData umaData)
    {
        //   var umaDna = umaData.GetDna<DKUMADnaHumanoid>();
        for (int i = 0; i < umaData.umaRecipe.raceData.dnaConverterList.Length; i++)
        {
            if (umaData.umaRecipe.raceData.dnaConverterList[i].GetComponent <DK_DNAConverterBehaviour>() != null)
            {
                DNAConvObj = umaData.umaRecipe.raceData.dnaConverterList[i].gameObject;
            }
        }

        DKRaceData _RaceData = umaData.umaRecipe.raceData;

        if (_RaceData.BoneDataList.Count > 0)
        {
            if (umaData.boneList.Count == 0)
            {
                umaData.UpdateBoneData();
            }
            else
            {
                if (_RaceData)
                {
                    for (int i = 0; i < _RaceData.BoneDataList.Count; i++)
                    {
                        DKRaceData.BoneData _BoneData = _RaceData.BoneDataList[i];
                        if (_BoneData.Active)
                        {
                            if (_BoneData.UseClamps)
                            {
                                if (_BoneData.Clamp1.Index == 1)
                                {
                                    clamp1 = Mathf.Clamp(_BoneData.Clamp1.XYZ.x, _BoneData.Clamp1.XYZ.y, _BoneData.Clamp1.XYZ.z);
                                }
                                if (_BoneData.Clamp1.Index == 2)
                                {
                                    clamp1 = Mathf.Clamp(_BoneData.Clamp1.XYZ.x
                                                         + ((umaData.DNAList2[_BoneData.Clamp1.Conv1.Index].Value) - _BoneData.Clamp1.WXYZ1.w)
                                                         * _BoneData.Clamp1.WXYZ1.x
                                                         , _BoneData.Clamp1.XYZ.y, _BoneData.Clamp1.XYZ.z);
                                }
                                if (_BoneData.Clamp1.Index == 3)
                                {
                                    clamp1 = Mathf.Clamp(_BoneData.Clamp1.XYZ.x
                                                         + ((umaData.DNAList2[_BoneData.Clamp1.Conv1.Index].Value) - _BoneData.Clamp1.WXYZ1.w)
                                                         * _BoneData.Clamp1.WXYZ1.x
                                                         + ((umaData.DNAList2[_BoneData.Clamp1.Conv2.Index].Value) - _BoneData.Clamp1.WXYZ1.y)
                                                         * _BoneData.Clamp1.WXYZ1.z
                                                         , _BoneData.Clamp1.XYZ.y, _BoneData.Clamp1.XYZ.z);
                                }
                                if (_BoneData.Clamp1.Index == 4)
                                {
                                    clamp1 = Mathf.Clamp(_BoneData.Clamp1.XYZ.x
                                                         + ((umaData.DNAList2[_BoneData.Clamp1.Conv1.Index].Value) - _BoneData.Clamp1.WXYZ1.w)
                                                         * _BoneData.Clamp1.WXYZ1.x
                                                         + ((umaData.DNAList2[_BoneData.Clamp1.Conv2.Index].Value) - _BoneData.Clamp1.WXYZ1.y)
                                                         * _BoneData.Clamp1.WXYZ1.z
                                                         + ((umaData.DNAList2[_BoneData.Clamp1.Conv3.Index].Value) - _BoneData.Clamp1.WXYZ2.w)
                                                         , _BoneData.Clamp1.XYZ.y, _BoneData.Clamp1.XYZ.z);
                                }
                                if (_BoneData.Clamp1.Index == 5)
                                {
                                    clamp1 = Mathf.Clamp(_BoneData.Clamp1.XYZ.x
                                                         + ((umaData.DNAList2[_BoneData.Clamp1.Conv1.Index].Value) - _BoneData.Clamp1.WXYZ1.w)
                                                         * _BoneData.Clamp1.WXYZ1.x
                                                         + ((umaData.DNAList2[_BoneData.Clamp1.Conv2.Index].Value) - _BoneData.Clamp1.WXYZ1.y)
                                                         * _BoneData.Clamp1.WXYZ1.z
                                                         + ((umaData.DNAList2[_BoneData.Clamp1.Conv3.Index].Value) - _BoneData.Clamp1.WXYZ2.w)
                                                         * _BoneData.Clamp1.WXYZ2.x
                                                         , _BoneData.Clamp1.XYZ.y, _BoneData.Clamp1.XYZ.z);
                                }
                                if (_BoneData.Clamp1.Index == 6)
                                {
                                    clamp1 = Mathf.Clamp(_BoneData.Clamp1.XYZ.x
                                                         + ((umaData.DNAList2[_BoneData.Clamp1.Conv1.Index].Value) - _BoneData.Clamp1.WXYZ1.w)
                                                         * _BoneData.Clamp1.WXYZ1.x
                                                         + ((umaData.DNAList2[_BoneData.Clamp1.Conv2.Index].Value) - _BoneData.Clamp1.WXYZ1.y)
                                                         * _BoneData.Clamp1.WXYZ1.z
                                                         - ((umaData.DNAList2[_BoneData.Clamp1.Conv3.Index].Value) - _BoneData.Clamp1.WXYZ2.w)
                                                         * _BoneData.Clamp1.WXYZ2.x
                                                         , _BoneData.Clamp1.XYZ.y, _BoneData.Clamp1.XYZ.z);
                                }
                                if (_BoneData.Clamp1.Index == 7)
                                {
                                    clamp1 = Mathf.Clamp(((umaData.DNAList2[_BoneData.Clamp1.Conv1.Index].Value) - _BoneData.Clamp1.WXYZ1.w)
                                                         * _BoneData.Clamp1.WXYZ1.x
                                                         , _BoneData.Clamp1.XYZ.y, _BoneData.Clamp1.XYZ.z);
                                }
                                if (_BoneData.Clamp1.Index == 8)
                                {
                                    clamp1 = Mathf.Clamp(-((umaData.DNAList2[_BoneData.Clamp1.Conv1.Index].Value) - _BoneData.Clamp1.WXYZ1.w)
                                                         * _BoneData.Clamp1.WXYZ1.x
                                                         , _BoneData.Clamp1.XYZ.y, _BoneData.Clamp1.XYZ.z);
                                }
                                if (_BoneData.Clamp1.Index == 9)
                                {
                                    clamp1 = Mathf.Clamp(((umaData.DNAList2[_BoneData.Clamp1.Conv1.Index].Value) - _BoneData.Clamp1.WXYZ1.w)
                                                         * _BoneData.Clamp1.WXYZ1.x
                                                         + ((umaData.DNAList2[_BoneData.Clamp1.Conv2.Index].Value) - _BoneData.Clamp1.WXYZ1.y)
                                                         * _BoneData.Clamp1.WXYZ1.z
                                                         + ((umaData.DNAList2[_BoneData.Clamp1.Conv3.Index].Value) - _BoneData.Clamp1.WXYZ2.w)
                                                         , _BoneData.Clamp1.XYZ.y, _BoneData.Clamp1.XYZ.z);
                                }
                                if (_BoneData.Clamp1.Index == 10)
                                {
                                    clamp1 = Mathf.Clamp(_BoneData.Clamp1.XYZ.x
                                                         - ((umaData.DNAList2[_BoneData.Clamp1.Conv1.Index].Value) - _BoneData.Clamp1.WXYZ1.w)
                                                         * _BoneData.Clamp1.WXYZ1.x
                                                         , _BoneData.Clamp1.XYZ.y, _BoneData.Clamp1.XYZ.z);
                                }
                                if (_BoneData.Clamp2.Index == 1)
                                {
                                    clamp2 = Mathf.Clamp(_BoneData.Clamp2.XYZ.x, _BoneData.Clamp2.XYZ.y, _BoneData.Clamp2.XYZ.z);
                                }
                                if (_BoneData.Clamp2.Index == 2)
                                {
                                    clamp2 = Mathf.Clamp(_BoneData.Clamp2.XYZ.x
                                                         + ((umaData.DNAList2[_BoneData.Clamp2.Conv1.Index].Value) - _BoneData.Clamp2.WXYZ1.w)
                                                         * _BoneData.Clamp2.WXYZ1.x
                                                         , _BoneData.Clamp2.XYZ.y, _BoneData.Clamp2.XYZ.z);
                                }
                                if (_BoneData.Clamp2.Index == 3)
                                {
                                    clamp2 = Mathf.Clamp(_BoneData.Clamp2.XYZ.x
                                                         + ((umaData.DNAList2[_BoneData.Clamp2.Conv1.Index].Value) - _BoneData.Clamp2.WXYZ1.w)
                                                         * _BoneData.Clamp2.WXYZ1.x
                                                         + ((umaData.DNAList2[_BoneData.Clamp2.Conv2.Index].Value) - _BoneData.Clamp2.WXYZ1.y)
                                                         * _BoneData.Clamp2.WXYZ1.z
                                                         , _BoneData.Clamp2.XYZ.y, _BoneData.Clamp2.XYZ.z);
                                }
                                if (_BoneData.Clamp2.Index == 4)
                                {
                                    clamp2 = Mathf.Clamp(_BoneData.Clamp2.XYZ.x
                                                         + ((umaData.DNAList2[_BoneData.Clamp2.Conv1.Index].Value) - _BoneData.Clamp2.WXYZ1.w)
                                                         * _BoneData.Clamp2.WXYZ1.x
                                                         + ((umaData.DNAList2[_BoneData.Clamp2.Conv2.Index].Value) - _BoneData.Clamp2.WXYZ1.y)
                                                         * _BoneData.Clamp2.WXYZ1.z
                                                         + ((umaData.DNAList2[_BoneData.Clamp2.Conv3.Index].Value) - _BoneData.Clamp2.WXYZ2.w)
                                                         , _BoneData.Clamp2.XYZ.y, _BoneData.Clamp2.XYZ.z);
                                }
                                if (_BoneData.Clamp2.Index == 5)
                                {
                                    clamp2 = Mathf.Clamp(_BoneData.Clamp2.XYZ.x
                                                         + ((umaData.DNAList2[_BoneData.Clamp2.Conv1.Index].Value) - _BoneData.Clamp2.WXYZ1.w)
                                                         * _BoneData.Clamp2.WXYZ1.x
                                                         + ((umaData.DNAList2[_BoneData.Clamp2.Conv2.Index].Value) - _BoneData.Clamp2.WXYZ1.y)
                                                         * _BoneData.Clamp2.WXYZ1.z
                                                         + ((umaData.DNAList2[_BoneData.Clamp2.Conv3.Index].Value) - _BoneData.Clamp2.WXYZ2.w)
                                                         * _BoneData.Clamp2.WXYZ2.x
                                                         , _BoneData.Clamp2.XYZ.y, _BoneData.Clamp2.XYZ.z);
                                }
                                if (_BoneData.Clamp2.Index == 6)
                                {
                                    clamp2 = Mathf.Clamp(_BoneData.Clamp2.XYZ.x
                                                         + ((umaData.DNAList2[_BoneData.Clamp2.Conv1.Index].Value) - _BoneData.Clamp2.WXYZ1.w)
                                                         * _BoneData.Clamp2.WXYZ1.x
                                                         + ((umaData.DNAList2[_BoneData.Clamp2.Conv2.Index].Value) - _BoneData.Clamp2.WXYZ1.y)
                                                         * _BoneData.Clamp2.WXYZ1.z
                                                         - ((umaData.DNAList2[_BoneData.Clamp2.Conv3.Index].Value) - _BoneData.Clamp2.WXYZ2.w)
                                                         * _BoneData.Clamp2.WXYZ2.x
                                                         , _BoneData.Clamp2.XYZ.y, _BoneData.Clamp2.XYZ.z);
                                }
                                if (_BoneData.Clamp2.Index == 7)
                                {
                                    clamp2 = Mathf.Clamp(((umaData.DNAList2[_BoneData.Clamp2.Conv1.Index].Value) - _BoneData.Clamp2.WXYZ1.w)
                                                         * _BoneData.Clamp2.WXYZ1.x
                                                         , _BoneData.Clamp2.XYZ.y, _BoneData.Clamp2.XYZ.z);
                                }
                                if (_BoneData.Clamp2.Index == 8)
                                {
                                    clamp2 = Mathf.Clamp(-((umaData.DNAList2[_BoneData.Clamp2.Conv1.Index].Value) - _BoneData.Clamp2.WXYZ1.w)
                                                         * _BoneData.Clamp2.WXYZ1.x
                                                         , _BoneData.Clamp2.XYZ.y, _BoneData.Clamp2.XYZ.z);
                                }
                                if (_BoneData.Clamp2.Index == 9)
                                {
                                    clamp2 = Mathf.Clamp(((umaData.DNAList2[_BoneData.Clamp2.Conv1.Index].Value) - _BoneData.Clamp2.WXYZ1.w)
                                                         * _BoneData.Clamp2.WXYZ1.x
                                                         + ((umaData.DNAList2[_BoneData.Clamp2.Conv2.Index].Value) - _BoneData.Clamp2.WXYZ1.y)
                                                         * _BoneData.Clamp2.WXYZ1.z
                                                         + ((umaData.DNAList2[_BoneData.Clamp2.Conv3.Index].Value) - _BoneData.Clamp2.WXYZ2.w)
                                                         , _BoneData.Clamp2.XYZ.y, _BoneData.Clamp2.XYZ.z);
                                }
                                if (_BoneData.Clamp2.Index == 10)
                                {
                                    clamp2 = Mathf.Clamp(_BoneData.Clamp2.XYZ.x
                                                         - ((umaData.DNAList2[_BoneData.Clamp2.Conv1.Index].Value) - _BoneData.Clamp2.WXYZ1.w)
                                                         * _BoneData.Clamp2.WXYZ1.x
                                                         , _BoneData.Clamp2.XYZ.y, _BoneData.Clamp2.XYZ.z);
                                }
                                if (_BoneData.Clamp3.Index == 1)
                                {
                                    clamp3 = Mathf.Clamp(_BoneData.Clamp3.XYZ.x, _BoneData.Clamp3.XYZ.y, _BoneData.Clamp3.XYZ.z);
                                }
                                if (_BoneData.Clamp3.Index == 2)
                                {
                                    clamp3 = Mathf.Clamp(_BoneData.Clamp3.XYZ.x
                                                         + ((umaData.DNAList2[_BoneData.Clamp3.Conv1.Index].Value) - _BoneData.Clamp3.WXYZ1.w)
                                                         * _BoneData.Clamp3.WXYZ1.x
                                                         , _BoneData.Clamp3.XYZ.y, _BoneData.Clamp3.XYZ.z);
                                }
                                if (_BoneData.Clamp3.Index == 3)
                                {
                                    clamp3 = Mathf.Clamp(_BoneData.Clamp3.XYZ.x
                                                         + ((umaData.DNAList2[_BoneData.Clamp3.Conv1.Index].Value) - _BoneData.Clamp3.WXYZ1.w)
                                                         * _BoneData.Clamp3.WXYZ1.x
                                                         + ((umaData.DNAList2[_BoneData.Clamp3.Conv2.Index].Value) - _BoneData.Clamp3.WXYZ1.y)
                                                         * _BoneData.Clamp3.WXYZ1.z
                                                         , _BoneData.Clamp3.XYZ.y, _BoneData.Clamp3.XYZ.z);
                                }
                                if (_BoneData.Clamp3.Index == 4)
                                {
                                    clamp3 = Mathf.Clamp(_BoneData.Clamp3.XYZ.x
                                                         + ((umaData.DNAList2[_BoneData.Clamp3.Conv1.Index].Value) - _BoneData.Clamp3.WXYZ1.w)
                                                         * _BoneData.Clamp3.WXYZ1.x
                                                         + ((umaData.DNAList2[_BoneData.Clamp3.Conv2.Index].Value) - _BoneData.Clamp3.WXYZ1.y)
                                                         * _BoneData.Clamp3.WXYZ1.z
                                                         + ((umaData.DNAList2[_BoneData.Clamp3.Conv3.Index].Value) - _BoneData.Clamp3.WXYZ2.w)
                                                         , _BoneData.Clamp3.XYZ.y, _BoneData.Clamp3.XYZ.z);
                                }
                                //0	Mathf.Clamp(1 + (umaDna.lowerWeight - 0.5f) * 0.15f + (umaDna.lowerMuscle - 0.5f) * 0.95f - (umaDna.legsSize - 0.5f), 0.65f, 1.45f),

                                if (_BoneData.Clamp3.Index == 5)
                                {
                                    clamp3 = Mathf.Clamp(_BoneData.Clamp3.XYZ.x
                                                         + ((umaData.DNAList2[_BoneData.Clamp3.Conv1.Index].Value) - _BoneData.Clamp3.WXYZ1.w)
                                                         * _BoneData.Clamp3.WXYZ1.x
                                                         + ((umaData.DNAList2[_BoneData.Clamp3.Conv2.Index].Value) - _BoneData.Clamp3.WXYZ1.y)
                                                         * _BoneData.Clamp3.WXYZ1.z
                                                         + ((umaData.DNAList2[_BoneData.Clamp3.Conv3.Index].Value) - _BoneData.Clamp3.WXYZ2.w)
                                                         * _BoneData.Clamp3.WXYZ2.x
                                                         , _BoneData.Clamp3.XYZ.y, _BoneData.Clamp3.XYZ.z);
                                }
                                if (_BoneData.Clamp3.Index == 6)
                                {
                                    clamp3 = Mathf.Clamp(_BoneData.Clamp3.XYZ.x
                                                         + ((umaData.DNAList2[_BoneData.Clamp3.Conv1.Index].Value) - _BoneData.Clamp3.WXYZ1.w)
                                                         * _BoneData.Clamp3.WXYZ1.x
                                                         + ((umaData.DNAList2[_BoneData.Clamp3.Conv2.Index].Value) - _BoneData.Clamp3.WXYZ1.y)
                                                         * _BoneData.Clamp3.WXYZ1.z
                                                         - ((umaData.DNAList2[_BoneData.Clamp3.Conv3.Index].Value) - _BoneData.Clamp3.WXYZ2.w)
                                                         * _BoneData.Clamp3.WXYZ2.x
                                                         , _BoneData.Clamp3.XYZ.y, _BoneData.Clamp3.XYZ.z);
                                }
                                if (_BoneData.Clamp3.Index == 7)
                                {
                                    clamp3 = Mathf.Clamp(((umaData.DNAList2[_BoneData.Clamp3.Conv1.Index].Value) - _BoneData.Clamp3.WXYZ1.w)
                                                         * _BoneData.Clamp3.WXYZ1.x
                                                         , _BoneData.Clamp3.XYZ.y, _BoneData.Clamp3.XYZ.z);
                                }
                                if (_BoneData.Clamp3.Index == 8)
                                {
                                    clamp3 = Mathf.Clamp(-((umaData.DNAList2[_BoneData.Clamp3.Conv1.Index].Value) - _BoneData.Clamp3.WXYZ1.w)
                                                         * _BoneData.Clamp3.WXYZ1.x
                                                         , _BoneData.Clamp3.XYZ.y, _BoneData.Clamp3.XYZ.z);
                                }
                                if (_BoneData.Clamp3.Index == 9)
                                {
                                    clamp3 = Mathf.Clamp(((umaData.DNAList2[_BoneData.Clamp3.Conv1.Index].Value) - _BoneData.Clamp3.WXYZ1.w)
                                                         * _BoneData.Clamp3.WXYZ1.x
                                                         + ((umaData.DNAList2[_BoneData.Clamp3.Conv2.Index].Value) - _BoneData.Clamp3.WXYZ1.y)
                                                         * _BoneData.Clamp3.WXYZ1.z
                                                         + ((umaData.DNAList2[_BoneData.Clamp3.Conv3.Index].Value) - _BoneData.Clamp3.WXYZ2.w)
                                                         , _BoneData.Clamp3.XYZ.y, _BoneData.Clamp3.XYZ.z);
                                }
                                if (_BoneData.Clamp3.Index == 10)
                                {
                                    clamp3 = Mathf.Clamp(_BoneData.Clamp3.XYZ.x
                                                         - ((umaData.DNAList2[_BoneData.Clamp3.Conv1.Index].Value) - _BoneData.Clamp3.WXYZ1.w)
                                                         * _BoneData.Clamp3.WXYZ1.x
                                                         , _BoneData.Clamp3.XYZ.y, _BoneData.Clamp3.XYZ.z);
                                }
                                // Apply
                                if (_BoneData.Clamp1.Type == 1)
                                {
                                    umaData.boneList[_RaceData.BoneDataList[i].Name].boneTransform.localScale = new Vector3(clamp1, clamp2, clamp3);
                                }
                                if (_BoneData.Clamp1.Type == 2)
                                {
                                    umaData.boneList[_RaceData.BoneDataList[i].Name].boneTransform.localEulerAngles = new Vector3(clamp1, clamp2, clamp3);
                                }
                                if (_BoneData.Clamp1.Type == 3)
                                {
                                    umaData.boneList[_RaceData.BoneDataList[i].Name].boneTransform.localPosition = umaData.boneList[_RaceData.BoneDataList[i].Name].actualBonePosition + new Vector3(clamp1, clamp2, clamp3);
                                }
                                if (_BoneData.Clamp1.Type == 4)
                                {
                                    umaData.ChangeBoneScale(_RaceData.BoneDataList[i].Name, new Vector3(clamp1, clamp2, clamp3));
                                }
                                if (_BoneData.Clamp1.Type == 5)
                                {
                                    umaData.ChangeBoneMoveRelative(_RaceData.BoneDataList[i].Name, new Vector3(clamp1, clamp2, clamp3));
                                }
                                if (_BoneData.Clamp1.Type == 6)
                                {
                                    umaData.boneList[_RaceData.BoneDataList[i].Name].boneTransform.localPosition = umaData.boneList[_RaceData.BoneDataList[i].LinkedTo].actualBonePosition + new Vector3(clamp1, clamp2, clamp3);
                                }
                            }
                            else
                            {
                                if (_BoneData.Clamp1.Index == 1)
                                {
                                    _Vector3 = new Vector3(_BoneData.Clamp1.XYZ.x, _BoneData.Clamp1.XYZ.y, _BoneData.Clamp1.XYZ.z);
                                }
                                if (_BoneData.Clamp1.Index == 2)
                                {
                                    _Vector3 = new Vector3(_BoneData.Clamp1.XYZ.x
                                                           + ((umaData.DNAList2[_BoneData.Clamp1.Conv1.Index].Value) - _BoneData.Clamp1.WXYZ1.w)
                                                           * _BoneData.Clamp1.WXYZ1.x
                                                           , _BoneData.Clamp1.XYZ.y, _BoneData.Clamp1.XYZ.z);
                                }
                                if (_BoneData.Clamp1.Index == 3)
                                {
                                    _Vector3 = new Vector3(_BoneData.Clamp1.XYZ.x
                                                           + ((umaData.DNAList2[_BoneData.Clamp1.Conv1.Index].Value) - _BoneData.Clamp1.WXYZ1.w)
                                                           * _BoneData.Clamp1.WXYZ1.x
                                                           + ((umaData.DNAList2[_BoneData.Clamp1.Conv2.Index].Value) - _BoneData.Clamp1.WXYZ1.y)
                                                           * _BoneData.Clamp1.WXYZ1.z
                                                           , _BoneData.Clamp1.XYZ.y, _BoneData.Clamp1.XYZ.z);
                                }
                                if (_BoneData.Clamp1.Index == 4)
                                {
                                    _Vector3 = new Vector3(_BoneData.Clamp1.XYZ.x
                                                           + ((umaData.DNAList2[_BoneData.Clamp1.Conv1.Index].Value) - _BoneData.Clamp1.WXYZ1.w)
                                                           * _BoneData.Clamp1.WXYZ1.x
                                                           + ((umaData.DNAList2[_BoneData.Clamp1.Conv2.Index].Value) - _BoneData.Clamp1.WXYZ1.y)
                                                           * _BoneData.Clamp1.WXYZ1.z
                                                           + ((umaData.DNAList2[_BoneData.Clamp1.Conv3.Index].Value) - _BoneData.Clamp1.WXYZ2.w)
                                                           , _BoneData.Clamp1.XYZ.y, _BoneData.Clamp1.XYZ.z);
                                }
                                if (_BoneData.Clamp1.Index == 5)
                                {
                                    _Vector3 = new Vector3(_BoneData.Clamp1.XYZ.x
                                                           + ((umaData.DNAList2[_BoneData.Clamp1.Conv1.Index].Value) - _BoneData.Clamp1.WXYZ1.w)
                                                           * _BoneData.Clamp1.WXYZ1.x
                                                           + ((umaData.DNAList2[_BoneData.Clamp1.Conv2.Index].Value) - _BoneData.Clamp1.WXYZ1.y)
                                                           * _BoneData.Clamp1.WXYZ1.z
                                                           + ((umaData.DNAList2[_BoneData.Clamp1.Conv3.Index].Value) - _BoneData.Clamp1.WXYZ2.w)
                                                           * _BoneData.Clamp1.WXYZ2.x
                                                           , _BoneData.Clamp1.XYZ.y, _BoneData.Clamp1.XYZ.z);
                                }
                                if (_BoneData.Clamp1.Index == 6)
                                {
                                    _Vector3 = new Vector3(_BoneData.Clamp1.XYZ.x
                                                           + ((umaData.DNAList2[_BoneData.Clamp1.Conv1.Index].Value) - _BoneData.Clamp1.WXYZ1.w)
                                                           * _BoneData.Clamp1.WXYZ1.x
                                                           + ((umaData.DNAList2[_BoneData.Clamp1.Conv2.Index].Value) - _BoneData.Clamp1.WXYZ1.y)
                                                           * _BoneData.Clamp1.WXYZ1.z
                                                           - ((umaData.DNAList2[_BoneData.Clamp1.Conv3.Index].Value) - _BoneData.Clamp1.WXYZ2.w)
                                                           * _BoneData.Clamp1.WXYZ2.x
                                                           , _BoneData.Clamp1.XYZ.y, _BoneData.Clamp1.XYZ.z);
                                }
                                if (_BoneData.Clamp1.Index == 7)
                                {
                                    _Vector3 = new Vector3((umaData.DNAList2[_BoneData.Clamp1.Conv1.Index].Value - _BoneData.Clamp1.WXYZ1.w)
                                                           * _BoneData.Clamp1.WXYZ1.x
                                                           , _BoneData.Clamp1.XYZ.y, _BoneData.Clamp1.XYZ.z);
                                }
                                if (_BoneData.Clamp1.Index == 8)
                                {
                                    _Vector3 = new Vector3(-((umaData.DNAList2[_BoneData.Clamp1.Conv1.Index].Value) - _BoneData.Clamp1.WXYZ1.w)
                                                           * _BoneData.Clamp1.WXYZ1.x
                                                           , _BoneData.Clamp1.XYZ.y, _BoneData.Clamp1.XYZ.z);
                                }
                                if (_BoneData.Clamp1.Index == 9)
                                {
                                    _Vector3 = new Vector3(((umaData.DNAList2[_BoneData.Clamp1.Conv1.Index].Value) - _BoneData.Clamp1.WXYZ1.w)
                                                           * _BoneData.Clamp1.WXYZ1.x
                                                           + ((umaData.DNAList2[_BoneData.Clamp1.Conv2.Index].Value) - _BoneData.Clamp1.WXYZ1.y)
                                                           * _BoneData.Clamp1.WXYZ1.z
                                                           + ((umaData.DNAList2[_BoneData.Clamp1.Conv3.Index].Value) - _BoneData.Clamp1.WXYZ2.w)
                                                           , _BoneData.Clamp1.XYZ.y, _BoneData.Clamp1.XYZ.z);
                                }
                                if (_BoneData.Clamp1.Index == 10)
                                {
                                    _Vector3 = new Vector3(_BoneData.Clamp1.XYZ.x
                                                           - ((umaData.DNAList2[_BoneData.Clamp1.Conv1.Index].Value) - _BoneData.Clamp1.WXYZ1.w)
                                                           * _BoneData.Clamp1.WXYZ1.x
                                                           , _BoneData.Clamp1.XYZ.y, _BoneData.Clamp1.XYZ.z);
                                }
                                // Apply
                                if (_BoneData.Clamp1.Type == 1)
                                {
                                    umaData.boneList[_RaceData.BoneDataList[i].Name].boneTransform.localScale = _Vector3;
                                }
                                if (_BoneData.Clamp1.Type == 2)
                                {
                                    umaData.boneList[_RaceData.BoneDataList[i].Name].boneTransform.localEulerAngles = _Vector3 /* new Vector3( clamp1, clamp2, clamp3 ) */;
                                }
                                if (_BoneData.Clamp1.Type == 3)
                                {
                                    umaData.boneList[_RaceData.BoneDataList[i].Name].boneTransform.localPosition = umaData.boneList[_RaceData.BoneDataList[i].Name].actualBonePosition + _Vector3;
                                }
                                if (_BoneData.Clamp1.Type == 4)
                                {
                                    umaData.ChangeBoneScale(_RaceData.BoneDataList[i].Name, _Vector3);
                                }
                                if (_BoneData.Clamp1.Type == 5)
                                {
                                    umaData.ChangeBoneMoveRelative(_RaceData.BoneDataList[i].Name, new Vector3(clamp1, clamp2, clamp3));
                                }
                                if (_BoneData.Clamp1.Type == 6)
                                {
                                    umaData.boneList[_RaceData.BoneDataList[i].Name].boneTransform.localPosition = umaData.boneList[_RaceData.BoneDataList[i].LinkedTo].actualBonePosition + _Vector3;
                                }
                            }
                        }
                    }
                }
            }
        }
    }