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); } }
/// <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."); } }
private static void CSharpExtensions() { // ClassExtention.Example(); // FuncOrActionOrEventExtension.Example(); // GenericExtention.Example(); // IEnumerableExtension.Example(); // IOExtension.Example(); OOPExtension.Example(); ReflectionExtension.Example(); StringExtention.Example(); }
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(); }
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); }
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(); }
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(); }
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); }
// 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); } }