Ejemplo n.º 1
0
    public void WriterValue(EnumSaveTypeKey type, object value)
    {
        string strValue = string.Empty;

        switch (type)
        {
        case EnumSaveTypeKey.SaveInt:
        case EnumSaveTypeKey.SaveLong:
        case EnumSaveTypeKey.SaveString:
        case EnumSaveTypeKey.SaveFolat:
        case EnumSaveTypeKey.SaveDouble:
        case EnumSaveTypeKey.SaveBool:
        case EnumSaveTypeKey.SaveShort:
        case EnumSaveTypeKey.SaveUint:
        case EnumSaveTypeKey.SaveUlong:
        case EnumSaveTypeKey.SaveUshort:
        case EnumSaveTypeKey.SaveChar:
        case EnumSaveTypeKey.SaveDateTime:
            SelectWriteType(saveSetting.saveImplementType, value);
            break;

        case EnumSaveTypeKey.SaveVector2:
            strValue = StringExtention.Vector2ToString((Vector2)value);
            break;

        case EnumSaveTypeKey.SaveVector3:
            strValue = StringExtention.Vector3ToString((Vector3)value);
            break;

        case EnumSaveTypeKey.SaveVector4:
            strValue = StringExtention.Vector4ToString((Vector4)value);
            break;

        case EnumSaveTypeKey.SaveQuaternion:
            strValue = StringExtention.QuaternionToString((Quaternion)value);
            break;

        case EnumSaveTypeKey.SaveColor:
            strValue = StringExtention.ColorToString((Color)value);
            break;

        case EnumSaveTypeKey.SaveEnum:
        case EnumSaveTypeKey.SaveList:
        case EnumSaveTypeKey.SaveDictionary:
        case EnumSaveTypeKey.Savebyte:
        case EnumSaveTypeKey.SaveHashtable:
        case EnumSaveTypeKey.SaveArrayList:
            strValue = StringExtention.ConverToString(value);
            break;

        case EnumSaveTypeKey.SaveArray:
            strValue = StringExtention.ArrConvertToString((Array)value);
            break;
        }

        if (!string.IsNullOrEmpty(strValue))
        {
            SelectWriteType(saveSetting.saveImplementType, strValue);
        }
    }
Ejemplo n.º 2
0
    /// <summary>

    /// 根据指定的 Assets下的文件路径 返回这个路径下的所有文件名//

    /// </summary>

    /// <returns>文件名数组</returns>

    /// <param name="path">Assets下“一"级路径</param>

    /// <param name="pattern">筛选文件后缀名的条件.</param>

    /// <typeparam name="T">函数模板的类型名t</typeparam>

    private static void GetObjectNameToArray <T>(string path, string pattern)

    {
        string objPath = Application.dataPath + "/" + path;

        string[] directoryEntries;

        try

        {
//返回指定的目录中文件和子目录的名称的数组或空数组

            directoryEntries = System.IO.Directory.GetFileSystemEntries(objPath);


            for (int i = 0; i < directoryEntries.Length; i++)
            {
                string p = directoryEntries[i];

//得到要求目录下的文件或者文件夹(一级的)//

                string[] tempPaths = StringExtention.SplitWithString(p, "/Assets/" + path + "\\");



//tempPaths 分割后的不可能为空,只要directoryEntries不为空//

                if (tempPaths[1].EndsWith(".meta"))
                {
                    continue;
                }

                string[] pathSplit = StringExtention.SplitWithString(tempPaths[1], ".");

//文件
                if (pathSplit.Length > 1)
                {
                    nameArray.Add(pathSplit[0]);
                }

//遍历子目录下 递归吧!

                else

                {
                    GetObjectNameToArray <T>(path + "/" + pathSplit[0], "pattern");

                    continue;
                }
            }
        }

        catch (System.IO.DirectoryNotFoundException)

        {
            Debug.Log("The path encapsulated in the " + objPath + "Directory object does not exist.");
        }
    }
Ejemplo n.º 3
0
        private static void CSharpExtensions()
        {
            // ClassExtention.Example();
            // FuncOrActionOrEventExtension.Example();
            // GenericExtention.Example();
//			IEnumerableExtension.Example();
//			IOExtension.Example();
            OOPExtension.Example();
            ReflectionExtension.Example();
            StringExtention.Example();
        }
Ejemplo n.º 4
0
        private void Mainform_Load(object sender, EventArgs e)
        {
            _transferHelper = new TransferHelper();

            var td = new Thread(new ThreadStart(new Action(() =>
            {
                while (!this.IsDisposed)
                {
                    try
                    {
                        SystemInfo systemInfo = new SystemInfo();

                        var cpu = $"核心数:{systemInfo.ProcessorCount}个 使用率:{systemInfo.CpuLoad}%";

                        var mem = $"{StringExtention.ToFormatString(systemInfo.MemoryAvailable)}/{StringExtention.ToFormatString(systemInfo.PhysicalMemory)}";

                        var sb = new StringBuilder();

                        var hds = systemInfo.GetLogicalDrives();

                        foreach (var item in hds)
                        {
                            sb.Append($"{item.Name}盘 {StringExtention.ToFormatString(item.FreeSpace)}/{StringExtention.ToFormatString(item.Size)} \t");
                        }

                        try
                        {
                            this.Invoke(new Action(() =>
                            {
                                label8.Text  = cpu;
                                label9.Text  = mem;
                                label10.Text = sb.ToString();
                            }));
                        }
                        catch { }
                    }
                    catch (Exception ex)
                    {
                        break;
                    }

                    Thread.Sleep(1000);
                }
            })));

            td.IsBackground = true;
            td.Start();

            NetMonitor();
        }
Ejemplo n.º 5
0
    private object ReadArray(object def)
    {
        var dt = ReadValue(saveSetting.saveImplementType, EnumSaveTypeKey.SaveArray);

        if (dt != null && dt.GetType().IsArray)
        {
            return(dt);
        }
        NoHasKeyHint();
        string[] str = StringExtention.Split(saveSetting.curObject.ConverToString(), '[');
        Type     t   = null;

        if (str.Length > 0)
        {
            t = Type.GetType(str[0]);
        }
        if (def == null)
        {
            return(Array.CreateInstance(t, 1));
        }
        return(def);
    }
Ejemplo n.º 6
0
    public void MergeLyricsAndTimes()
    {
        if (string.IsNullOrEmpty(lyricsString))
        {
            UIEventManager.FireAlert("Not all files prsent !", "ALERT");
            return;
        }

        // remove first 5 lines and the last one;
        string[]      remN   = lyricsString.Split('\n');
        List <string> strLst = new List <string>(remN);

        strLst.RemoveRange(0, 5);
        strLst.RemoveRange(strLst.Count - 2, 2);
        string strFromLst = String.Join(" ", strLst.ToArray());

        // remove line breaks
        string stringOneLine = Regex.Replace(strFromLst, @"\r\n?|\n", String.Empty);

        // replace < and > for [ and ] and add one "[" at the end
        string strClean = StringExtention.clean(stringOneLine) + "[";

        jsonOutputTxt.text = strClean;

        // pull out all the timestamps from mm:ss.ss
        string patternTimestamps = @"\d\:\d{1,2}.\d{1,2}";

        matchTimestamps = Regex.Matches(strClean, patternTimestamps);

        // pull the words between ] and [
        string patternWords = @"\](.*?)\[";

        matchWords = Regex.Matches(strClean, patternWords);

        if (matchWords.Count != matchTimestamps.Count)
        {
            UIEventManager.FireAlert("Count doesn't match \n" + "lyrics lines: " + matchWords.Count + " - vs - " + "timestamps lines: " + matchTimestamps.Count, "WORD COUNT MISSMATCH");
            return;
        }

        //Debug.Log("All is OK... proceed");

        //songWords = new string[matchWords.Count];
        int i = 0;
        int w = matchWords.Count;
        // for (i = 0; i < w; i++)
        //{
        //songWords[i] = matchWords[i].ToString().TrimStart(']', ' ').TrimEnd('[');
        // }

        //songTimestamps = new string[matchTimestamps.Count];
        // int n = matchTimestamps.Count;
        //for (i = 0; i < n; i++)
        //{
        //songTimestamps[i] = formatTimeToSeconds(matchTimestamps[i].ToString());
        //}

        WordData word;
        string   clearedStr;
        string   trimedStr;

        wordsList = new WordData[matchWords.Count];
        for (i = 0; i < w; i++)
        {
            word         = new WordData();
            clearedStr   = matchWords[i].ToString().TrimStart(']', ' ').TrimEnd('[');
            trimedStr    = clearedStr.TrimEnd();
            word.text    = trimedStr;
            word.time    = formatTimeToSeconds(matchTimestamps[i].ToString());
            word.index   = i;
            wordsList[i] = word;
        }

        //// Proceed to Save
        SaveToJson();
    }
Ejemplo n.º 7
0
        private void NetMonitor()
        {
            Thread td = new Thread(new ThreadStart(() =>
            {
                while (true)
                {
                    if (_choosed)
                    {
                        try
                        {
                            var speed = 0L;

                            if (_transferHelper.Speed.ContainsKey(_chooseIpPort))
                            {
                                speed = _transferHelper.Speed[_chooseIpPort];
                            }

                            var speedStr = StringExtention.ToFormatString(speed);

                            var total = 0L;

                            if (_transferHelper.Total.ContainsKey(_chooseIpPort))
                            {
                                total = _transferHelper.Total[_chooseIpPort];
                            }

                            var totalStr = StringExtention.ToFormatString(total);

                            SystemInfo systemInfo = new SystemInfo();

                            var list = systemInfo.GetProcessInfo(_chooseName);

                            StringBuilder sb = new StringBuilder();

                            sb.AppendLine($"pid:{list[0].Id}\r\n");

                            sb.AppendLine($"pName:{_chooseName}\r\n");

                            sb.AppendLine($"active:{StringExtention.ToFormatString(list[0].TotalMilliseconds)}\r\n");

                            sb.AppendLine($"mem:{StringExtention.ToFormatString(list[0].WorkingSet64)}\r\n");

                            sb.AppendLine($"path:{list[0].FileName}\r\n");

                            sb.AppendLine($"net:{speedStr}/{totalStr}");

                            try
                            {
                                this.Invoke(new Action(() =>
                                {
                                    label12.Text = sb.ToString();
                                }));
                            }
                            catch { }
                        }
                        catch (Exception ex)
                        {
                            _choosed = false;
                            MessageBox.Show("当前进程无法被监控,Error:" + ex.Message);
                        }
                    }
                    Thread.Sleep(100);
                }
            }));

            td.IsBackground = true;
            td.Start();
        }
Ejemplo n.º 8
0
    private object ReadValue(SaveImplementType type, EnumSaveTypeKey keyType)
    {
        switch (type)
        {
        case SaveImplementType.ImplementByte:
            Stream stream = FileMgr.Instance.OpenReadStream(this.saveSetting.path);
            if (stream != null)
            {
                stream.Close();
                var data = SerializeHelper.DeserializeBinary(this.saveSetting.path);
                if (data != null)
                {
                    switch (keyType)
                    {
                    case EnumSaveTypeKey.SaveInt:
                        return(int.Parse(data.ToString()));

                    case EnumSaveTypeKey.SaveLong:
                        return(long.Parse(data.ToString()));

                    case EnumSaveTypeKey.SaveFolat:
                        return(float.Parse(data.ToString()));

                    case EnumSaveTypeKey.SaveString:
                        return(data.ToString());

                    case EnumSaveTypeKey.SaveDouble:
                        return(double.Parse(data.ToString()));

                    case EnumSaveTypeKey.SaveBool:
                        return(bool.Parse(data.ToString()));

                    case EnumSaveTypeKey.Savebyte:
                        return(byte.Parse(data.ToString()));

                    case EnumSaveTypeKey.SaveShort:
                        return(short.Parse(data.ToString()));

                    case EnumSaveTypeKey.SaveUint:
                        return(uint.Parse(data.ToString()));

                    case EnumSaveTypeKey.SaveUlong:
                        return(ulong.Parse(data.ToString()));

                    case EnumSaveTypeKey.SaveUshort:
                        return(ushort.Parse(data.ToString()));

                    case EnumSaveTypeKey.SaveChar:
                        return(char.Parse(data.ToString()));

                    case EnumSaveTypeKey.SaveVector2:
                        return(StringExtention.GetValue <Vector2>(data.ConverToString()));

                    case EnumSaveTypeKey.SaveVector3:
                        return(StringExtention.GetValue <Vector3>(data.ConverToString()));

                    case EnumSaveTypeKey.SaveVector4:
                        return(StringExtention.GetValue <Vector4>(data.ConverToString()));

                    case EnumSaveTypeKey.SaveQuaternion:
                        return(StringExtention.GetValue <Quaternion>(data.ConverToString()));

                    case EnumSaveTypeKey.SaveColor:
                        return(StringExtention.GetValue <Color>(data.ConverToString()));

                    case EnumSaveTypeKey.SaveEnum:
                        return(StringExtention.GetValue(data.ConverToString(), (Type)saveSetting.curObject));

                    case EnumSaveTypeKey.SaveList:
                        return(StringExtention.GetValue(data.ConverToString(), (Type)saveSetting.curObject));

                    case EnumSaveTypeKey.SaveDictionary:
                        return(StringExtention.GetValue(data.ConverToString(), (Type)saveSetting.curObject));;

                    case EnumSaveTypeKey.SaveDateTime:
                        return(DateTime.Parse(data.ToString()));

                    case EnumSaveTypeKey.SaveArray:
                        return(StringExtention.GetValue(data.ConverToString(), (Type)saveSetting.curObject));

                    case EnumSaveTypeKey.SaveHashtable:
                        return(StringExtention.GetValue(data.ConverToString(), (Type)saveSetting.curObject));

                    case EnumSaveTypeKey.SaveArrayList:
                        return(StringExtention.GetValue(data.ConverToString(), (Type)saveSetting.curObject));
                    }
                    return(null);
                }
            }
            break;

        case SaveImplementType.ImplementJson:
            if (!string.IsNullOrEmpty(saveSetting.path))
            {
                var data = SerializeHelper.LoadJson <JsonTestFloat>(this.saveSetting.path);
                if (data != null)
                {
                    byte[] txEncrypt = EncryptHelp.AESDecrypt(data.SaveValue, SaveDefaultData.EncryptKey, SaveDefaultData.EncryptValue);
                    string str       = Encoding.UTF8.GetString(txEncrypt);
                    switch (keyType)
                    {
                    case EnumSaveTypeKey.SaveInt:
                        return(int.Parse(str.ToString()));

                    case EnumSaveTypeKey.SaveLong:
                        return(long.Parse(str.ToString()));

                    case EnumSaveTypeKey.SaveFolat:
                        return(float.Parse(str.ToString()));

                    case EnumSaveTypeKey.SaveString:
                        return(str.ToString());

                    case EnumSaveTypeKey.SaveDouble:
                        return(double.Parse(str.ToString()));

                    case EnumSaveTypeKey.SaveBool:
                        return(bool.Parse(str.ToString()));

                    case EnumSaveTypeKey.Savebyte:
                        return(byte.Parse(str.ToString()));

                    case EnumSaveTypeKey.SaveShort:
                        return(short.Parse(str.ToString()));

                    case EnumSaveTypeKey.SaveUint:
                        return(uint.Parse(str.ToString()));

                    case EnumSaveTypeKey.SaveUlong:
                        return(ulong.Parse(str.ToString()));

                    case EnumSaveTypeKey.SaveUshort:
                        return(ushort.Parse(str.ToString()));

                    case EnumSaveTypeKey.SaveChar:
                        return(char.Parse(str.ToString()));

                    case EnumSaveTypeKey.SaveVector2:
                        return(StringExtention.GetValue <Vector2>(str.ConverToString()));

                    case EnumSaveTypeKey.SaveVector3:
                        return(StringExtention.GetValue <Vector3>(str.ConverToString()));

                    case EnumSaveTypeKey.SaveVector4:
                        return(StringExtention.GetValue <Vector4>(str.ConverToString()));

                    case EnumSaveTypeKey.SaveQuaternion:
                        return(StringExtention.GetValue <Quaternion>(str.ConverToString()));

                    case EnumSaveTypeKey.SaveColor:
                        return(StringExtention.GetValue <Color>(str.ConverToString()));

                    case EnumSaveTypeKey.SaveEnum:
                        return(StringExtention.GetValue(str.ConverToString(), (Type)saveSetting.curObject));

                    case EnumSaveTypeKey.SaveList:
                        return(StringExtention.GetValue(str.ConverToString(), (Type)saveSetting.curObject));

                    case EnumSaveTypeKey.SaveDictionary:
                        return(StringExtention.GetValue(str.ConverToString(), (Type)saveSetting.curObject));

                    case EnumSaveTypeKey.SaveDateTime:
                        return(DateTime.Parse(str.ToString()));

                    case EnumSaveTypeKey.SaveArray:
                        return(StringExtention.GetValue(str.ConverToString(), (Type)saveSetting.curObject));

                    case EnumSaveTypeKey.SaveHashtable:
                        return(StringExtention.GetValue(str.ConverToString(), (Type)saveSetting.curObject));

                    case EnumSaveTypeKey.SaveArrayList:
                        return(StringExtention.GetValue(str.ConverToString(), (Type)saveSetting.curObject));
                    }
                    return(null);
                }
            }
            break;

        case SaveImplementType.ImplementProto:
            if (!string.IsNullOrEmpty(saveSetting.path))
            {
                var data = SerializeHelper.LoadProtoBuff <ProtoBufSave>(saveSetting.path);
                if (data != null)
                {
                    switch (keyType)
                    {
                    case EnumSaveTypeKey.SaveInt:
                        return(data.SaveValue);

                    //case EnumSaveTypeKey.SaveFolat:
                    //    return (float)data.SaveValue;
                    case EnumSaveTypeKey.SaveString:
                        return(data.SaveValue.ToString());

                    case EnumSaveTypeKey.SaveBool:
                        return(bool.Parse(data.SaveValue.ToString()));
                    }
                    return(null);
                }
            }
            break;

        case SaveImplementType.ImplementXML:
            if (!string.IsNullOrEmpty(saveSetting.path))
            {
                switch (keyType)
                {
                case EnumSaveTypeKey.SaveInt:
                    var dataInt = SerializeHelper.DeserializeXML <byte[]>(saveSetting.path);
                    if (dataInt == null)
                    {
                        return(null);
                    }
                    return(int.Parse(dataInt.ToString()));

                case EnumSaveTypeKey.SaveLong:
                    var dataLong = SerializeHelper.DeserializeXML <byte[]>(saveSetting.path);
                    if (dataLong == null)
                    {
                        return(null);
                    }
                    return(long.Parse(dataLong.ToString()));

                case EnumSaveTypeKey.SaveFolat:
                    var dataFolat = SerializeHelper.DeserializeXML <byte[]>(saveSetting.path);
                    if (dataFolat == null)
                    {
                        return(null);
                    }
                    return(float.Parse(dataFolat.ToString()));

                case EnumSaveTypeKey.SaveString:
                    var dataString = SerializeHelper.DeserializeXML <byte[]>(saveSetting.path);
                    if (dataString == null)
                    {
                        return(null);
                    }
                    return(dataString.ToString());

                case EnumSaveTypeKey.SaveDouble:
                    var dataDouble = SerializeHelper.DeserializeXML <byte[]>(saveSetting.path);
                    if (dataDouble == null)
                    {
                        return(null);
                    }
                    return(double.Parse(dataDouble.ToString()));

                case EnumSaveTypeKey.SaveBool:
                    var dataBool = SerializeHelper.DeserializeXML <byte[]>(saveSetting.path);
                    if (dataBool == null)
                    {
                        return(null);
                    }
                    return(bool.Parse(dataBool.ToString()));

                case EnumSaveTypeKey.Savebyte:
                    var dataByte = SerializeHelper.DeserializeXML <byte[]>(saveSetting.path);
                    if (dataByte == null)
                    {
                        return(null);
                    }
                    return(byte.Parse(dataByte.ToString()));

                case EnumSaveTypeKey.SaveShort:
                    var dataShort = SerializeHelper.DeserializeXML <byte[]>(saveSetting.path);
                    if (dataShort == null)
                    {
                        return(null);
                    }
                    return(short.Parse(dataShort.ToString()));

                case EnumSaveTypeKey.SaveUint:
                    var dataUint = SerializeHelper.DeserializeXML <byte[]>(saveSetting.path);
                    if (dataUint == null)
                    {
                        return(null);
                    }
                    return(uint.Parse(dataUint.ToString()));

                case EnumSaveTypeKey.SaveUlong:
                    var dataUlong = SerializeHelper.DeserializeXML <byte[]>(saveSetting.path);
                    if (dataUlong == null)
                    {
                        return(dataUlong);
                    }
                    return(ulong.Parse(dataUlong.ToString()));

                case EnumSaveTypeKey.SaveUshort:
                    var dataUshort = SerializeHelper.DeserializeXML <byte[]>(saveSetting.path);
                    if (dataUshort == null)
                    {
                        return(dataUshort);
                    }
                    return(ushort.Parse(dataUshort.ToString()));

                case EnumSaveTypeKey.SaveChar:
                    var dataChar = SerializeHelper.DeserializeXML <byte[]>(saveSetting.path);
                    if (dataChar == null)
                    {
                        return(dataChar);
                    }
                    return(char.Parse(dataChar.ToString()));

                case EnumSaveTypeKey.SaveVector2:
                    var dataVector2 = SerializeHelper.DeserializeXML <byte[]>(saveSetting.path);
                    if (dataVector2 == null)
                    {
                        return(null);
                    }
                    return(StringExtention.GetValue <Vector2>(dataVector2.ConverToString()));

                case EnumSaveTypeKey.SaveVector3:
                    var dataVector3 = SerializeHelper.DeserializeXML <byte[]>(saveSetting.path);
                    if (dataVector3 == null)
                    {
                        return(null);
                    }
                    return(StringExtention.GetValue <Vector3>(dataVector3.ConverToString()));

                case EnumSaveTypeKey.SaveVector4:
                    var dataVector4 = SerializeHelper.DeserializeXML <byte[]>(saveSetting.path);
                    if (dataVector4 == null)
                    {
                        return(null);
                    }
                    return(StringExtention.GetValue <Vector4>(dataVector4.ConverToString()));

                case EnumSaveTypeKey.SaveQuaternion:
                    var dataQuaternion = SerializeHelper.DeserializeXML <byte[]>(saveSetting.path);
                    if (dataQuaternion == null)
                    {
                        return(null);
                    }
                    return(StringExtention.GetValue <Quaternion>(dataQuaternion.ConverToString()));

                case EnumSaveTypeKey.SaveColor:
                    var dataColor = SerializeHelper.DeserializeXML <byte[]>(saveSetting.path);
                    if (dataColor == null)
                    {
                        return(null);
                    }
                    return(StringExtention.GetValue <Color>(dataColor.ConverToString()));

                case EnumSaveTypeKey.SaveEnum:
                    var dataEnum = SerializeHelper.DeserializeXML <byte[]>(saveSetting.path);
                    if (dataEnum == null)
                    {
                        return(null);
                    }
                    return(StringExtention.GetValue(dataEnum.ConverToString(), (Type)saveSetting.curObject));

                case EnumSaveTypeKey.SaveList:

                    var dataList = SerializeHelper.DeserializeXML <byte[]>(saveSetting.path);
                    if (dataList == null)
                    {
                        return(null);
                    }
                    return(StringExtention.GetValue(dataList.ConverToString(), (Type)saveSetting.curObject));

                case EnumSaveTypeKey.SaveDictionary:
                    var dataDictionary = SerializeHelper.DeserializeXML <byte[]>(saveSetting.path);
                    if (dataDictionary == null)
                    {
                        return(null);
                    }
                    return(StringExtention.GetValue(dataDictionary.ConverToString(), (Type)saveSetting.curObject));

                case EnumSaveTypeKey.SaveDateTime:
                    var dataDateTime = SerializeHelper.DeserializeXML <byte[]>(saveSetting.path);
                    if (dataDateTime == null)
                    {
                        return(null);
                    }
                    return(DateTime.Parse(dataDateTime.ToString()));

                case EnumSaveTypeKey.SaveArray:
                    var dataArray = SerializeHelper.DeserializeXML <byte[]>(saveSetting.path);
                    if (dataArray == null)
                    {
                        return(null);
                    }
                    return(StringExtention.GetValue(dataArray.ConverToString(), (Type)saveSetting.curObject));

                case EnumSaveTypeKey.SaveHashtable:
                    var dataHashtable = SerializeHelper.DeserializeXML <byte[]>(saveSetting.path);
                    if (dataHashtable == null)
                    {
                        return(null);
                    }
                    return(StringExtention.GetValue(dataHashtable.ConverToString(), (Type)saveSetting.curObject));

                case EnumSaveTypeKey.SaveArrayList:
                    var dataArrayList = SerializeHelper.DeserializeXML <byte[]>(saveSetting.path);
                    if (dataArrayList == null)
                    {
                        return(null);
                    }
                    return(StringExtention.GetValue(dataArrayList.ConverToString(), (Type)saveSetting.curObject));
                }
            }
            break;
        }
        return(null);
    }
Ejemplo n.º 9
0
    // Update is called once per frame
    void Update()
    {
        if (mainCam.orthographic)
        {
            mainCam.Render();
        }

        if (index < meshArray.Count)
        {
            if (timer >= 0.033f) //timer controller
            {
                Destroy(obj);
                //tmpPrefab = PrefabUtility.CreateEmptyPrefab("Assets/Mesh/" + nameArray[index] + ".obj");
                obj = CreatePrefabAtPath("Assets/Mesh/male/" + meshArray[index] + ".obj");

                //update texture
                mat = AssetDatabase.LoadMainAssetAtPath("Assets/Materials/head3d.mat") as Material;
                Texture tex = AssetDatabase.LoadMainAssetAtPath("Assets/Textures/male/" + textureArray[index] + ".isomap.png") as Texture;
                mat.SetTexture("_MainTex", tex);

                //add texture
                head                  = GameObject.Find(obj.name + "/default");
                meshRenderer          = head.GetComponent <MeshRenderer>();
                meshRenderer.material = mat;

                //texture related
                MeshFilter meshFilter = head.GetComponent <MeshFilter>();
                Mesh       mesh       = meshFilter.mesh;

                List <Matrix4x4> tmp = StringExtention.readMatrix("Matrix/male/" + matrixArray[index] + ".txt");
                modelview = tmp[0];
                project   = tmp[1];
                //Debug.Log(modelview);
                //Debug.Log(project);

                //mat = AssetDatabase.LoadMainAssetAtPath("Assets/Materials/head3d.mat") as Material;
                rb = obj.AddComponent <Rigidbody>();
                obj.transform.Rotate(new Vector3(0, 180, 0), Space.Self);

                rb.mass       = 0.0f;
                rb.useGravity = false;

                mainCam.worldToCameraMatrix = modelview * Matrix4x4.Scale(new Vector3(1, 1, -1));
                //Debug.Log(mainCam.worldToCameraMatrix);

                //Debug.Log(mainCam.projectionMatrix);
                mainCam.projectionMatrix = project * Matrix4x4.Scale(new Vector3(1, 1, -1));
                //Debug.Log(mainCam.projectionMatrix);

                Debug.Log(index);
                index++;
                timer = 0;
            }
            timer += Time.deltaTime;
        }


        if (Input.GetKeyDown(KeyCode.Space))
        {
            RenderTexture.active = rt;
            t2d.ReadPixels(new Rect(0, 0, rt.width, rt.height), 0, 0);
            t2d.Apply();
            RenderTexture.active = null;

            byte[] byt = t2d.EncodeToJPG();
            File.WriteAllBytes(Application.dataPath + "//" + num.ToString() + ".png", byt);

            Debug.Log("Current cut's number is " + num.ToString());
            num++;
        }
        if (Input.GetKeyDown(KeyCode.DownArrow))
        {
            rb.transform.Translate(Vector3.up * 1.0f, Space.World);
        }
        if (Input.GetKeyDown(KeyCode.G))
        {
            obj.SetActive(false);
        }
    }