Пример #1
0
    public static DKUMADna LoadInstance(System.Type dnaType, System.String data)
    {
        if (dnaType == typeof(DKUMADnaHumanoid))
        {
            return(DKUMADnaHumanoid.LoadInstance(data));
        }

        return(null);
    }
Пример #2
0
    public static string[] GetNames(System.Type dnaType)
    {
        if (dnaType == typeof(DKUMADnaHumanoid))
        {
            return(DKUMADnaHumanoid.GetNames(dnaType));
        }

        return(new string[0]);
    }
Пример #3
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);
    }
Пример #4
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();
        }
    }
Пример #5
0
    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);
                }
            }
        }
    }
Пример #6
0
    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);
        }
    }
Пример #7
0
    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);
            }
        }
    }
Пример #8
0
    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);
    }
Пример #9
0
    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);
    }
Пример #10
0
 public static string SaveInstance(DKUMADnaHumanoid instance)
 {
     return(LitJson.JsonMapper.ToJson(DKUMADnaHumanoid_Byte.FromDna(instance)));
 }
Пример #11
0
    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);
            }
        }
    }
Пример #12
0
    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 ) {}
        }
    }