public static DKUMADna LoadInstance(System.Type dnaType, System.String data) { if (dnaType == typeof(DKUMADnaHumanoid)) { return(DKUMADnaHumanoid.LoadInstance(data)); } return(null); }
public static string[] GetNames(System.Type dnaType) { if (dnaType == typeof(DKUMADnaHumanoid)) { return(DKUMADnaHumanoid.GetNames(dnaType)); } return(new string[0]); }
public static System.String SaveInstance(DKUMADna instance) { System.Type dnaType = instance.GetType(); if (dnaType == typeof(DKUMADnaHumanoid)) { return(DKUMADnaHumanoid.SaveInstance(instance as DKUMADnaHumanoid)); } return(null); }
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(); } }
public void LoadFromWin() { DKUMASaveTool umaSaveTool = (DKUMASaveTool)target; GameObject gameObject = (GameObject)umaSaveTool.gameObject; DKUMAData umaData = gameObject.GetComponent("DKUMAData") as DKUMAData; umaData.Loading = true; if (umaData) { var path = EditorUtility.OpenFilePanel("Load serialized Avatar", "", "txt"); if (path.Length != 0) { DKUMAData.UMARecipe umaRecipe = new DKUMAData.UMARecipe(); DKUMAData.UMAPackRecipe umaPackRecipe = new DKUMAData.UMAPackRecipe(); streamedUMA = System.IO.File.ReadAllText(path); umaPackRecipe = JsonMapper.ToObject <DKUMAData.UMAPackRecipe>(streamedUMA); foreach (DKRaceData _Race in umaData.raceLibrary.raceElementList) { if (_Race.raceName == umaPackRecipe.race) { umaRecipe.raceData = _Race; } } // New Transform tempUMA = (Instantiate(umaRecipe.raceData.racePrefab, umaData.transform.position, umaData.transform.rotation) as GameObject).transform; Debug.Log("Creating ... " + tempUMA); DKUMAData newUMA = tempUMA.gameObject.GetComponentInChildren <DKUMAData>(); newUMA.umaRecipe = umaRecipe; newUMA.streamedUMA = streamedUMA; DKUMADnaHumanoid _UMADnaHumanoid = new DKUMADnaHumanoid(); Dictionary <Type, DKUMADna> umaDna = new Dictionary <Type, DKUMADna>(); newUMA.umaPackRecipe = umaPackRecipe; // DNA // load DK_UMAdnaHumanoid newUMA.umaRecipe.umaDna.Clear(); for (int dna = 0; dna < newUMA.umaPackRecipe.packedDna.Count; dna++) { Type dnaType = DKUMADna.GetType(newUMA.umaPackRecipe.packedDna[dna].dnaType); newUMA.umaRecipe.umaDna.Add(dnaType, DKUMADna.LoadInstance(dnaType, umaPackRecipe.packedDna[dna].packedDna)); umaDna = newUMA.umaRecipe.umaDna; } // Modifyers for (int i = 0; i < umaRecipe.raceData.DNAConverterDataList.Count; i++) { // create new DK DNA DKRaceData.DNAConverterData _newDNA = new DKRaceData.DNAConverterData(); // add to DK_UMAdnaHumanoid DKUMADna temp = null; if (umaDna.TryGetValue(_UMADnaHumanoid.GetType(), out temp)) { Debug.Log("success : " + umaDna[_UMADnaHumanoid.GetType()].Values.GetValue(i).ToString()); // there it is, apply the value to the modifyer DNAValue = float.Parse(umaDna[_UMADnaHumanoid.GetType()].Values.GetValue(i).ToString()); } _newDNA.Name = umaRecipe.raceData.DNAConverterDataList[i].Name; _newDNA.Value = DNAValue; _newDNA.Part = umaRecipe.raceData.DNAConverterDataList[i].Part; _newDNA.Part2 = umaRecipe.raceData.DNAConverterDataList[i].Part2; newUMA.DNAList2.Add(_newDNA); } newUMA.LoadFromMemoryStream(); newUMA.Awaking(); newUMA.atlasResolutionScale = umaData.atlasResolutionScale; newUMA.Dirty(true, true, true); newUMA.transform.parent.gameObject.name = avatarName.stringValue; newUMA.transform.parent = umaData.transform.parent; serializedObject.ApplyModifiedProperties(); // Finshing by destroying the previous model #if UNITY_EDITOR DestroyImmediate(umaData.transform.gameObject); #endif if (Application.isPlaying) { Destroy(umaData.transform.gameObject); } } } }
public static void StoreDNAValues(DKUMAData _umaData, int i) { if (_umaData.DNAList2[i].Name == EditorVariables.tmpDNAList[i].Name && _umaData.DNAList2[i].Value != EditorVariables.tmpDNAList[i].Value) { _umaData.DNAList2[i].Value = EditorVariables.tmpDNAList[i].Value; if (umaDna == null) { umaDna = _umaData.umaRecipe.umaDna[typeof(DKUMADnaHumanoid)] as DKUMADnaHumanoid; } float tmpValue = EditorVariables.tmpDNAList[i].Value; if (i == 0) { umaDna.N0 = tmpValue; } if (i == 1) { umaDna.N1 = tmpValue; } if (i == 2) { umaDna.N2 = tmpValue; } if (i == 3) { umaDna.N3 = tmpValue; } if (i == 4) { umaDna.N4 = tmpValue; } if (i == 5) { umaDna.N5 = tmpValue; } if (i == 6) { umaDna.N6 = tmpValue; } if (i == 7) { umaDna.N7 = tmpValue; } if (i == 8) { umaDna.N8 = tmpValue; } if (i == 9) { umaDna.N9 = tmpValue; } if (i == 10) { umaDna.N10 = tmpValue; } if (i == 11) { umaDna.N11 = tmpValue; } if (i == 12) { umaDna.N12 = tmpValue; } if (i == 13) { umaDna.N13 = tmpValue; } if (i == 14) { umaDna.N14 = tmpValue; } if (i == 15) { umaDna.N15 = tmpValue; } if (i == 16) { umaDna.N16 = tmpValue; } if (i == 17) { umaDna.N17 = tmpValue; } if (i == 18) { umaDna.N18 = tmpValue; } if (i == 19) { umaDna.N19 = tmpValue; } if (i == 20) { umaDna.N20 = tmpValue; } if (i == 21) { umaDna.N21 = tmpValue; } if (i == 22) { umaDna.N22 = tmpValue; } if (i == 23) { umaDna.N23 = tmpValue; } if (i == 24) { umaDna.N24 = tmpValue; } if (i == 25) { umaDna.N25 = tmpValue; } if (i == 26) { umaDna.N26 = tmpValue; } if (i == 27) { umaDna.N27 = tmpValue; } if (i == 28) { umaDna.N28 = tmpValue; } if (i == 29) { umaDna.N29 = tmpValue; } if (i == 30) { umaDna.N30 = tmpValue; } if (i == 31) { umaDna.N31 = tmpValue; } if (i == 32) { umaDna.N32 = tmpValue; } if (i == 33) { umaDna.N33 = tmpValue; } if (i == 34) { umaDna.N34 = tmpValue; } if (i == 35) { umaDna.N35 = tmpValue; } if (i == 36) { umaDna.N36 = tmpValue; } if (i == 37) { umaDna.N37 = tmpValue; } if (i == 38) { umaDna.N38 = tmpValue; } if (i == 39) { umaDna.N39 = tmpValue; } if (i == 40) { umaDna.N40 = tmpValue; } if (i == 41) { umaDna.N41 = tmpValue; } if (i == 42) { umaDna.N42 = tmpValue; } if (i == 43) { umaDna.N43 = tmpValue; } if (i == 44) { umaDna.N44 = tmpValue; } if (i == 45) { umaDna.N45 = tmpValue; } if (i == 46) { umaDna.N46 = tmpValue; } if (i == 47) { umaDna.N47 = tmpValue; } if (i == 48) { umaDna.N48 = tmpValue; } if (i == 49) { umaDna.N49 = tmpValue; } if (i == 50) { umaDna.N50 = tmpValue; } if (i == 51) { umaDna.N51 = tmpValue; } if (i == 52) { umaDna.N52 = tmpValue; } if (i == 53) { umaDna.N53 = tmpValue; } if (i == 54) { umaDna.N54 = tmpValue; } if (i == 55) { umaDna.N55 = tmpValue; } if (i == 56) { umaDna.N56 = tmpValue; } if (i == 57) { umaDna.N57 = tmpValue; } if (i == 58) { umaDna.N58 = tmpValue; } if (i == 59) { umaDna.N59 = tmpValue; } if (i == 60) { umaDna.N60 = tmpValue; } if (i == 61) { umaDna.N61 = tmpValue; } if (i == 62) { umaDna.N62 = tmpValue; } if (i == 63) { umaDna.N63 = tmpValue; } if (i == 64) { umaDna.N64 = tmpValue; } if (i == 65) { umaDna.N65 = tmpValue; } if (i == 66) { umaDna.N66 = tmpValue; } if (i == 67) { umaDna.N67 = tmpValue; } if (i == 68) { umaDna.N68 = tmpValue; } if (i == 69) { umaDna.N69 = tmpValue; } if (i == 70) { umaDna.N70 = tmpValue; } _umaData.umaRecipe.umaDna.Remove(umaDna.GetType()); _umaData.umaRecipe.umaDna.Add(umaDna.GetType(), umaDna); _umaData.Dirty(true, false, false); } }
public void LoadFromString(DKUMAData _DKUMAData, string IncStreamedUMA) { // Debug.Log ("LoadFromString Start "); // streamedUMA = IncStreamedUMA; DKUMAData umaData = _DKUMAData; umaData.Loading = true; if (umaData) { DKUMAData.UMARecipe umaRecipe = new DKUMAData.UMARecipe(); DKUMAData.UMAPackRecipe umaPackRecipe = new DKUMAData.UMAPackRecipe(); DK_UMACrowd _DK_UMACrowd = GameObject.Find("DKUMACrowd").GetComponent <DK_UMACrowd>(); umaPackRecipe = JsonMapper.ToObject <DKUMAData.UMAPackRecipe>(IncStreamedUMA); foreach (DKRaceData _Race in _DK_UMACrowd.raceLibrary.raceElementList) { if (_Race.raceName == umaPackRecipe.race) { umaRecipe.raceData = _Race; // Debug.Log ("Race Loaded "+umaPackRecipe.race); } } // New DKUMADnaHumanoid _UMADnaHumanoid = new DKUMADnaHumanoid(); Dictionary <Type, DKUMADna> umaDna = new Dictionary <Type, DKUMADna>(); // DNA // load DK_UMAdnaHumanoid for (int dna = 0; dna < umaPackRecipe.packedDna.Count; dna++) { Type dnaType = DKUMADna.GetType(umaPackRecipe.packedDna[dna].dnaType); if (dna != 0 && dnaType != null) { umaRecipe.umaDna.Add(dnaType, DKUMADna.LoadInstance(dnaType, umaPackRecipe.packedDna[dna].packedDna)); } umaDna = umaRecipe.umaDna; } Transform tempUMA = (Instantiate(umaRecipe.raceData.racePrefab, umaData.transform.position, umaData.transform.rotation) as GameObject).transform; DKUMAData newUMA = tempUMA.gameObject.GetComponentInChildren <DKUMAData>(); newUMA.umaRecipe = umaRecipe; newUMA.umaPackRecipe = umaPackRecipe; newUMA.streamedUMA = IncStreamedUMA; // Modifyers for (int i = 0; i < umaRecipe.raceData.DNAConverterDataList.Count; i++) { // create new DK DNA DKRaceData.DNAConverterData _newDNA = new DKRaceData.DNAConverterData(); // add to DK_UMAdnaHumanoid DKUMADna temp = null; if (umaDna.TryGetValue(_UMADnaHumanoid.GetType(), out temp)) { // there it is, apply the value to the modifyer DNAValue = float.Parse(umaDna[_UMADnaHumanoid.GetType()].Values.GetValue(i).ToString()); if (DNAValue == 0) { DNAValue = 0.5f; } } _newDNA.Name = umaRecipe.raceData.DNAConverterDataList[i].Name; _newDNA.Value = DNAValue; _newDNA.Part = umaRecipe.raceData.DNAConverterDataList[i].Part; _newDNA.Part2 = umaRecipe.raceData.DNAConverterDataList[i].Part2; newUMA.DNAList2.Add(_newDNA); } newUMA.LoadFromMemoryStream(); newUMA.Dirty(true, true, true); Transform Parent = umaData.transform.parent; newUMA.transform.parent = Parent; Transform ZeroPoint = _DK_UMACrowd.zeroPoint; if (ZeroPoint != null) { // tempUMA.transform.position = _DK_UMACrowd.zeroPoint.transform.position; Parent.transform.position = _DK_UMACrowd.zeroPoint.transform.position; } else { ZeroPoint = GameObject.Find("ZeroPoint").transform; // tempUMA.transform.position = ZeroPoint.transform.position; Parent.transform.position = ZeroPoint.transform.position; } // tempUMA.transform.position = Parent.position; // Parent.name = Selection.activeGameObject.GetComponentInParent(UMA.UMAData).transform.parent.name; NewAvatarGo = Parent.gameObject; // Finishing by destroying the previous model #if UNITY_EDITOR // DestroyImmediate(umaData.transform.parent.gameObject); DestroyImmediate(umaData.transform.gameObject); #endif // if ( Application.isPlaying && umaData ) Destroy(umaData.transform.parent.gameObject); if (Application.isPlaying && umaData) { Destroy(umaData.transform.gameObject); } } }
public static DKUMADnaHumanoid_Byte FromDna(DKUMADnaHumanoid dna) { var res = new DKUMADnaHumanoid_Byte(); res.N0 = (System.Byte)(dna.N0 * 255f + 0.5f); res.N1 = (System.Byte)(dna.N1 * 255f + 0.5f); res.N2 = (System.Byte)(dna.N2 * 255f + 0.5f); res.N3 = (System.Byte)(dna.N3 * 255f + 0.5f); res.N4 = (System.Byte)(dna.N4 * 255f + 0.5f); res.N5 = (System.Byte)(dna.N5 * 255f + 0.5f); res.N6 = (System.Byte)(dna.N6 * 255f + 0.5f); res.N7 = (System.Byte)(dna.N7 * 255f + 0.5f); res.N8 = (System.Byte)(dna.N8 * 255f + 0.5f); res.N9 = (System.Byte)(dna.N9 * 255f + 0.5f); res.N10 = (System.Byte)(dna.N10 * 255f + 0.5f); res.N11 = (System.Byte)(dna.N11 * 255f + 0.5f); res.N12 = (System.Byte)(dna.N12 * 255f + 0.5f); res.N13 = (System.Byte)(dna.N13 * 255f + 0.5f); res.N14 = (System.Byte)(dna.N14 * 255f + 0.5f); res.N15 = (System.Byte)(dna.N15 * 255f + 0.5f); res.N16 = (System.Byte)(dna.N16 * 255f + 0.5f); res.N17 = (System.Byte)(dna.N17 * 255f + 0.5f); res.N18 = (System.Byte)(dna.N18 * 255f + 0.5f); res.N19 = (System.Byte)(dna.N19 * 255f + 0.5f); res.N20 = (System.Byte)(dna.N20 * 255f + 0.5f); res.N21 = (System.Byte)(dna.N21 * 255f + 0.5f); res.N22 = (System.Byte)(dna.N22 * 255f + 0.5f); res.N23 = (System.Byte)(dna.N23 * 255f + 0.5f); res.N24 = (System.Byte)(dna.N24 * 255f + 0.5f); res.N25 = (System.Byte)(dna.N25 * 255f + 0.5f); res.N26 = (System.Byte)(dna.N26 * 255f + 0.5f); res.N27 = (System.Byte)(dna.N27 * 255f + 0.5f); res.N28 = (System.Byte)(dna.N28 * 255f + 0.5f); res.N29 = (System.Byte)(dna.N29 * 255f + 0.5f); res.N30 = (System.Byte)(dna.N30 * 255f + 0.5f); res.N31 = (System.Byte)(dna.N31 * 255f + 0.5f); res.N32 = (System.Byte)(dna.N32 * 255f + 0.5f); res.N33 = (System.Byte)(dna.N33 * 255f + 0.5f); res.N34 = (System.Byte)(dna.N34 * 255f + 0.5f); res.N35 = (System.Byte)(dna.N35 * 255f + 0.5f); res.N36 = (System.Byte)(dna.N36 * 255f + 0.5f); res.N37 = (System.Byte)(dna.N37 * 255f + 0.5f); res.N38 = (System.Byte)(dna.N38 * 255f + 0.5f); res.N39 = (System.Byte)(dna.N39 * 255f + 0.5f); res.N40 = (System.Byte)(dna.N40 * 255f + 0.5f); res.N41 = (System.Byte)(dna.N41 * 255f + 0.5f); res.N42 = (System.Byte)(dna.N42 * 255f + 0.5f); res.N43 = (System.Byte)(dna.N43 * 255f + 0.5f); res.N44 = (System.Byte)(dna.N44 * 255f + 0.5f); res.N45 = (System.Byte)(dna.N45 * 255f + 0.5f); res.N46 = (System.Byte)(dna.N46 * 255f + 0.5f); res.N47 = (System.Byte)(dna.N47 * 255f + 0.5f); res.N48 = (System.Byte)(dna.N48 * 255f + 0.5f); res.N49 = (System.Byte)(dna.N49 * 255f + 0.5f); res.N50 = (System.Byte)(dna.N50 * 255f + 0.5f); res.N51 = (System.Byte)(dna.N51 * 255f + 0.5f); res.N52 = (System.Byte)(dna.N52 * 255f + 0.5f); res.N53 = (System.Byte)(dna.N53 * 255f + 0.5f); res.N54 = (System.Byte)(dna.N54 * 255f + 0.5f); res.N55 = (System.Byte)(dna.N55 * 255f + 0.5f); res.N56 = (System.Byte)(dna.N56 * 255f + 0.5f); res.N57 = (System.Byte)(dna.N57 * 255f + 0.5f); res.N58 = (System.Byte)(dna.N58 * 255f + 0.5f); res.N59 = (System.Byte)(dna.N59 * 255f + 0.5f); res.N60 = (System.Byte)(dna.N60 * 255f + 0.5f); res.N61 = (System.Byte)(dna.N61 * 255f + 0.5f); res.N62 = (System.Byte)(dna.N62 * 255f + 0.5f); res.N63 = (System.Byte)(dna.N63 * 255f + 0.5f); res.N64 = (System.Byte)(dna.N64 * 255f + 0.5f); res.N65 = (System.Byte)(dna.N65 * 255f + 0.5f); res.N66 = (System.Byte)(dna.N66 * 255f + 0.5f); res.N67 = (System.Byte)(dna.N67 * 255f + 0.5f); res.N68 = (System.Byte)(dna.N68 * 255f + 0.5f); res.N69 = (System.Byte)(dna.N69 * 255f + 0.5f); res.N70 = (System.Byte)(dna.N70 * 255f + 0.5f); return(res); }
public DKUMADnaHumanoid ToDna() { var res = new DKUMADnaHumanoid(); res.N0 = N0 * (1f / 255f); res.N1 = N1 * (1f / 255f); res.N2 = N2 * (1f / 255f); res.N3 = N3 * (1f / 255f); res.N4 = N4 * (1f / 255f); res.N5 = N5 * (1f / 255f); res.N6 = N6 * (1f / 255f); res.N7 = N7 * (1f / 255f); res.N8 = N8 * (1f / 255f); res.N9 = N9 * (1f / 255f); res.N10 = N10 * (1f / 255f); res.N11 = N11 * (1f / 255f); res.N12 = N12 * (1f / 255f); res.N13 = N13 * (1f / 255f); res.N14 = N14 * (1f / 255f); res.N15 = N15 * (1f / 255f); res.N16 = N16 * (1f / 255f); res.N17 = N17 * (1f / 255f); res.N18 = N18 * (1f / 255f); res.N19 = N19 * (1f / 255f); res.N20 = N20 * (1f / 255f); res.N21 = N21 * (1f / 255f); res.N22 = N22 * (1f / 255f); res.N23 = N23 * (1f / 255f); res.N24 = N24 * (1f / 255f); res.N25 = N25 * (1f / 255f); res.N26 = N26 * (1f / 255f); res.N27 = N27 * (1f / 255f); res.N28 = N28 * (1f / 255f); res.N29 = N29 * (1f / 255f); res.N30 = N30 * (1f / 255f); res.N31 = N31 * (1f / 255f); res.N32 = N32 * (1f / 255f); res.N33 = N33 * (1f / 255f); res.N34 = N34 * (1f / 255f); res.N35 = N35 * (1f / 255f); res.N36 = N36 * (1f / 255f); res.N37 = N37 * (1f / 255f); res.N38 = N38 * (1f / 255f); res.N39 = N39 * (1f / 255f); res.N40 = N40 * (1f / 255f); res.N41 = N41 * (1f / 255f); res.N42 = N42 * (1f / 255f); res.N43 = N43 * (1f / 255f); res.N44 = N44 * (1f / 255f); res.N45 = N45 * (1f / 255f); res.N46 = N46 * (1f / 255f); res.N47 = N47 * (1f / 255f); res.N48 = N48 * (1f / 255f); res.N49 = N49 * (1f / 255f); res.N50 = N50 * (1f / 255f); res.N51 = N51 * (1f / 255f); res.N52 = N52 * (1f / 255f); res.N53 = N53 * (1f / 255f); res.N54 = N54 * (1f / 255f); res.N55 = N55 * (1f / 255f); res.N56 = N56 * (1f / 255f); res.N57 = N57 * (1f / 255f); res.N58 = N58 * (1f / 255f); res.N59 = N59 * (1f / 255f); res.N60 = N60 * (1f / 255f); res.N61 = N61 * (1f / 255f); res.N62 = N62 * (1f / 255f); res.N63 = N63 * (1f / 255f); res.N64 = N64 * (1f / 255f); res.N65 = N65 * (1f / 255f); res.N66 = N66 * (1f / 255f); res.N67 = N67 * (1f / 255f); res.N68 = N68 * (1f / 255f); res.N69 = N69 * (1f / 255f); res.N70 = N70 * (1f / 255f); return(res); }
public static string SaveInstance(DKUMADnaHumanoid instance) { return(LitJson.JsonMapper.ToJson(DKUMADnaHumanoid_Byte.FromDna(instance))); }
public void SetSliders() { if (DisplayUI) { #if UNITY_EDITOR Selection.activeGameObject = null; Selection.activeObject = null; #endif umaData = null; umaDna = null; tempUMA = null; if (UI == null) { UI = GameObject.Find("UMA UI"); if (UI == null) { UI = new GameObject(); GameObject DKUMACustomization = GameObject.Find("DKUMACustomization"); UI.transform.parent = DKUMACustomization.transform; UI.name = "UMA UI"; } } if (Editor_Global.VersionW >= 1 && Editor_Global.VersionX >= 1 && Editor_Global.VersionY >= 0 && Editor_Global.VersionZ >= 0) { //Changed slider order GameObject DNALibraries = GameObject.Find("DNALibraries"); ConverterLibrary ConverterLibrary = DNALibraries.GetComponent <ConverterLibrary>(); // Face int Lines = 0; if (Type != null) { for (int i = 0; i < ConverterLibrary.ConverterList.Count; i++) { if (i == 0) { _Index = 0; Lines = 1; } if (_Index >= 2 && Lines == 1) { _Index = 0; Lines = 2; } if (_Index >= 2 && Lines == 2) { _Index = 0; Lines = 3; } if (_Index >= 2 && Lines == 3) { _Index = 0; Lines = 4; } if (_Index >= 2 && Lines == 4) { _Index = 0; Lines = 5; } if (_Index >= 2 && Lines == 5) { _Index = 0; Lines = 6; } if (_Index >= 2 && Lines == 6) { _Index = 0; Lines = 7; } if (_Index >= 2 && Lines == 7) { _Index = 0; Lines = 8; } if (_Index >= 2 && Lines == 8) { _Index = 0; Lines = 9; } if (_Index >= 2 && Lines == 9) { _Index = 0; Lines = 10; } if (ConverterLibrary.ConverterList[i].Part == Type) { // Debug.Log ( _Index.ToString()+" "+ ConverterLibrary.ConverterList[i].Name); _Index = _Index + 1; try{ if (Lines == 1) { sliderList.Add(InstantiateSlider2(ConverterLibrary.ConverterList[i].Name, _Index, 0, ConverterLibrary.ConverterList[i].Part)); } if (Lines == 2) { sliderList.Add(InstantiateSlider2(ConverterLibrary.ConverterList[i].Name, _Index, 1, ConverterLibrary.ConverterList[i].Part)); } if (Lines == 3) { sliderList.Add(InstantiateSlider2(ConverterLibrary.ConverterList[i].Name, _Index, 2, ConverterLibrary.ConverterList[i].Part)); } if (Lines == 4) { sliderList.Add(InstantiateSlider2(ConverterLibrary.ConverterList[i].Name, _Index, 3, ConverterLibrary.ConverterList[i].Part)); } if (Lines == 5) { sliderList.Add(InstantiateSlider2(ConverterLibrary.ConverterList[i].Name, _Index, 4, ConverterLibrary.ConverterList[i].Part)); } if (Lines == 6) { sliderList.Add(InstantiateSlider2(ConverterLibrary.ConverterList[i].Name, _Index, 5, ConverterLibrary.ConverterList[i].Part)); } if (Lines == 7) { sliderList.Add(InstantiateSlider2(ConverterLibrary.ConverterList[i].Name, _Index, 6, ConverterLibrary.ConverterList[i].Part)); } if (Lines == 8) { sliderList.Add(InstantiateSlider2(ConverterLibrary.ConverterList[i].Name, _Index, 7, ConverterLibrary.ConverterList[i].Part)); } if (Lines == 9) { sliderList.Add(InstantiateSlider2(ConverterLibrary.ConverterList[i].Name, _Index, 8, ConverterLibrary.ConverterList[i].Part)); } if (Lines == 10) { sliderList.Add(InstantiateSlider2(ConverterLibrary.ConverterList[i].Name, _Index, 9, ConverterLibrary.ConverterList[i].Part)); } // sliderList.Add(InstantiateSlider2(ConverterLibrary.ConverterList[i].Name,_Index,2,ConverterLibrary.ConverterList[i].Part)); }catch (NullReferenceException) {} } } } else { // General for (int i = 0; i < ConverterLibrary.ConverterList.Count; i++) { if (i == 0) { _Index = 0; } if (ConverterLibrary.ConverterList[i].Part == "") { // Debug.Log ( _Index.ToString()+" "+ ConverterLibrary.ConverterList[i].Name); _Index = _Index + 1; try{ sliderList.Add(InstantiateSlider2(ConverterLibrary.ConverterList[i].Name, _Index, 0, ConverterLibrary.ConverterList[i].Part)); // this.sliderList.Add(InstantiateSlider2(ConverterLibrary.ConverterList[i].Name,_Index,0,ConverterLibrary.ConverterList[i].Part)); }catch (NullReferenceException) {} } } // Head for (int i = 0; i < ConverterLibrary.ConverterList.Count; i++) { if (i == 0) { _Index = 0; } if (ConverterLibrary.ConverterList[i].Part == "Head") { // Debug.Log ( _Index.ToString()+" "+ ConverterLibrary.ConverterList[i].Name); _Index = _Index + 1; try{ sliderList.Add(InstantiateSlider2(ConverterLibrary.ConverterList[i].Name, _Index, 1, ConverterLibrary.ConverterList[i].Part)); // sliderList.Add(InstantiateSlider2(ConverterLibrary.ConverterList[i].Name,_Index,1,ConverterLibrary.ConverterList[i].Part)); }catch (NullReferenceException) {} } } // Face int Lines2 = 0; for (int i = 0; i < ConverterLibrary.ConverterList.Count; i++) { if (i == 0) { _Index = 0; Lines2 = 1; } if (_Index >= 7 && Lines2 == 1) { _Index = 0; Lines2 = 2; } if (_Index >= 7 && Lines == 2) { _Index = 0; Lines2 = 3; } if (_Index >= 7 && Lines == 3) { _Index = 0; Lines2 = 4; } if (ConverterLibrary.ConverterList[i].Part == "Face") { // Debug.Log ( _Index.ToString()+" "+ ConverterLibrary.ConverterList[i].Name); _Index = _Index + 1; try{ if (Lines2 == 1) { sliderList.Add(InstantiateSlider2(ConverterLibrary.ConverterList[i].Name, _Index, 2, ConverterLibrary.ConverterList[i].Part)); } if (Lines2 == 2) { sliderList.Add(InstantiateSlider2(ConverterLibrary.ConverterList[i].Name, _Index, 3, ConverterLibrary.ConverterList[i].Part)); } // sliderList.Add(InstantiateSlider2(ConverterLibrary.ConverterList[i].Name,_Index,2,ConverterLibrary.ConverterList[i].Part)); }catch (NullReferenceException) {} } } // Arms for (int i = 0; i < ConverterLibrary.ConverterList.Count; i++) { if (i == 0) { _Index = 0; } if (ConverterLibrary.ConverterList[i].Part == "Arms") { // Debug.Log ( _Index.ToString()+" "+ ConverterLibrary.ConverterList[i].Name); _Index = _Index + 1; try{ sliderList.Add(InstantiateSlider2(ConverterLibrary.ConverterList[i].Name, _Index, 4, ConverterLibrary.ConverterList[i].Part)); // sliderList.Add(InstantiateSlider2(ConverterLibrary.ConverterList[i].Name,_Index,3,ConverterLibrary.ConverterList[i].Part)); }catch (NullReferenceException) {} } } // Torso for (int i = 0; i < ConverterLibrary.ConverterList.Count; i++) { if (i == 0) { _Index = 0; } if (ConverterLibrary.ConverterList[i].Part == "Torso") { // Debug.Log ( _Index.ToString()+" "+ ConverterLibrary.ConverterList[i].Name); _Index = _Index + 1; try{ sliderList.Add(InstantiateSlider2(ConverterLibrary.ConverterList[i].Name, _Index, 5, ConverterLibrary.ConverterList[i].Part)); // sliderList.Add(InstantiateSlider2(ConverterLibrary.ConverterList[i].Name,_Index,4,ConverterLibrary.ConverterList[i].Part)); }catch (NullReferenceException) {} } } // Legs for (int i = 0; i < ConverterLibrary.ConverterList.Count; i++) { if (i == 0) { _Index = 0; } if (ConverterLibrary.ConverterList[i].Part == "Legs") { // Debug.Log ( _Index.ToString()+" "+ ConverterLibrary.ConverterList[i].Name); _Index = _Index + 1; try{ sliderList.Add(InstantiateSlider2(ConverterLibrary.ConverterList[i].Name, _Index, 6, ConverterLibrary.ConverterList[i].Part)); // sliderList.Add(InstantiateSlider2(ConverterLibrary.ConverterList[i].Name,_Index,5,ConverterLibrary.ConverterList[i].Part)); }catch (NullReferenceException) {} } } } } else { sliderControlList = new SliderControl[46]; //Changed slider order sliderControlList[0] = InstantiateSlider("height", 0, 0); sliderControlList[1] = InstantiateSlider("headSize", 1, 0); sliderControlList[43] = InstantiateSlider("headWidth", 2, 0); sliderControlList[32] = InstantiateSlider("forehead size", 3, 0); sliderControlList[33] = InstantiateSlider("forehead position", 4, 0); sliderControlList[12] = InstantiateSlider("ears size", 0, 1); sliderControlList[13] = InstantiateSlider("ears position", 1, 1); sliderControlList[14] = InstantiateSlider("ears rotation", 2, 1); sliderControlList[28] = InstantiateSlider("cheek size", 0, 2); sliderControlList[29] = InstantiateSlider("cheek position", 1, 2); sliderControlList[30] = InstantiateSlider("lowCheek pronounced", 2, 2); sliderControlList[31] = InstantiateSlider("lowCheek position", 3, 2); sliderControlList[15] = InstantiateSlider("nose size", 0, 3); sliderControlList[16] = InstantiateSlider("nose curve", 1, 3); sliderControlList[17] = InstantiateSlider("nose width", 2, 3); sliderControlList[18] = InstantiateSlider("nose inclination", 0, 4); sliderControlList[19] = InstantiateSlider("nose position", 1, 4); sliderControlList[20] = InstantiateSlider("nose pronounced", 2, 4); sliderControlList[21] = InstantiateSlider("nose flatten", 3, 4); sliderControlList[44] = InstantiateSlider("eye Size", 0, 5); sliderControlList[45] = InstantiateSlider("eye Rotation", 1, 5); sliderControlList[34] = InstantiateSlider("lips size", 2, 5); sliderControlList[35] = InstantiateSlider("mouth size", 3, 5); sliderControlList[25] = InstantiateSlider("mandible size", 4, 5); sliderControlList[26] = InstantiateSlider("jaw Size", 0, 6); sliderControlList[27] = InstantiateSlider("jaw Position", 1, 6); sliderControlList[2] = InstantiateSlider("neck", 2, 6); sliderControlList[22] = InstantiateSlider("chinSize", 0, 7); sliderControlList[23] = InstantiateSlider("chinPronounced", 1, 7); sliderControlList[24] = InstantiateSlider("chinPosition", 2, 7); sliderControlList[7] = InstantiateSlider("upper muscle", 0, 8); sliderControlList[8] = InstantiateSlider("lower muscle", 1, 8); sliderControlList[9] = InstantiateSlider("upper weight", 2, 8); sliderControlList[10] = InstantiateSlider("lower weight", 3, 8); sliderControlList[3] = InstantiateSlider("arm Length", 0, 9); sliderControlList[38] = InstantiateSlider("arm Width", 1, 9); sliderControlList[39] = InstantiateSlider("forearm Length", 2, 9); sliderControlList[40] = InstantiateSlider("forearm Width", 3, 9); sliderControlList[4] = InstantiateSlider("hands Size", 4, 9); sliderControlList[5] = InstantiateSlider("feet Size", 0, 10); sliderControlList[6] = InstantiateSlider("leg Separation", 1, 10); sliderControlList[11] = InstantiateSlider("legsSize", 2, 10); sliderControlList[37] = InstantiateSlider("Gluteus Size", 3, 10); sliderControlList[36] = InstantiateSlider("breatsSize", 0, 11); sliderControlList[41] = InstantiateSlider("belly", 1, 11); sliderControlList[42] = InstantiateSlider("waist", 2, 11); } } }
void Update() { if (Application.isPlaying && Camera.main) { // Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); // RaycastHit hit; /* if(Input.GetMouseButtonDown(1)){ * if (Physics.Raycast(ray, out hit, 100)){ * tempUMA = hit.collider.GetComponent("DKUMAData") as DKUMAData; * 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 == null ) { * tempUMA = hit.collider.transform.GetComponentInChildren<DKUMAData>(); * } * * 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 = new DKUMADnaHumanoid(); * * ReceiveValues(); * * //Save functionality * umaData.SaveToMemoryStream(); * } * } * }*/ if (umaData && EditedModel != null) #if UNITY_EDITOR { if (Selection.activeGameObject == umaData.gameObject) #endif { TransferValues(); // for(int i = 0; i < sliderControlList.Length; i++){ // if(sliderControlList[i].pressed == true){ UpdateUMAShape(); umaData.UpdateCollider(); // } // } } //Load functionality /* if( Input.GetKeyDown(KeyCode.Z) ){ * if(umaData){ * umaData.LoadFromMemoryStream(); * umaData.isShapeDirty = true; * umaData.Dirty(); * * umaDna = new DKUMADnaHumanoid(); * ReceiveValues(); * * umaData.SaveToMemoryStream(); * } * } */ } if (EditedModel != null) #if UNITY_EDITOR { if (Selection.activeGameObject == EditedModel) #endif { tempUMA = EditedModel.GetComponent("DKUMAData") as DKUMAData; if (tempUMA) umaData = tempUMA; } // try{ if (EditedModel != null && umaData) { umaDna = new DKUMADnaHumanoid(); } if (umaData) { UpdateUMAShape(); umaData.UpdateCollider(); ReceiveValues(); } // }catch (System.ArgumentException ) {} } }