using System; using System.Collections; using System.Collections.Generic; using System.Linq; using UnityEngine; /// /// 通用方法 /// public class GeneralMethod { #region 常量 /// /// 占位符文本 /// private const string m_PlaceholderText = "-----"; /// /// 换行符文本 /// private const string m_NewlineText = "\r\n"; /// /// 分隔符 /// private const string m_Separator = "&&"; #endregion #region 属性定义 /// /// 总文本信息 /// private static string m_TotalMessageTxt; /// /// 缓存文本 /// private static string[] m_CacheInterceptsTxt; #endregion /// /// 返回增加缩进后的字符串 /// /// /// public static string ReturnsAnIndentString(string _msg) { if (string.IsNullOrEmpty(_msg)) { return string.Empty; } m_TotalMessageTxt = string.Empty; m_CacheInterceptsTxt = _msg.Split(new[] { m_Separator }, StringSplitOptions.RemoveEmptyEntries); for (int i = 0; i < m_CacheInterceptsTxt.Length; i++) { m_TotalMessageTxt += m_PlaceholderText + m_CacheInterceptsTxt[i].Trim() + m_NewlineText; } m_TotalMessageTxt = m_TotalMessageTxt.Substring(0, m_TotalMessageTxt.Length - 2); return m_TotalMessageTxt; } #region 通关统计 /// /// 获取当前角色的ID /// /// public static string GetCurrentRoleNum() { return PlayerPrefs.GetString("StudentID"); } /// /// 判断数据是否存在并返回 /// /// /// /// private static string DeterminesWhetherDataExistAndReturn(string _originalData,string _newData) { string result = string.Empty; // 如果原始数据为空,则直接添加 if (string.IsNullOrEmpty(_originalData)) { result = _newData; } else { List datas = _originalData.Split('、').ToList(); if (datas.Contains(_newData)) { result = _originalData; } else { datas.Add(_newData); result = string.Join("、", datas); } } return result; } #endregion /// /// 字符串转换为Vector3 /// /// /// 字符串截取符号 /// public static Vector3 String2Vector3(string _data,char _interceptSymbol) { if (string.IsNullOrEmpty(_data)) { return Vector3.zero; } // 截取掉两端的括号 string rawData = _data.Split('(')[1].Split(')')[0]; string[] tmpData = rawData.Split(_interceptSymbol); if (tmpData.Length != 3) { return Vector3.zero; } return new Vector3(float.Parse(tmpData[0].Trim()), float.Parse(tmpData[1].Trim()), float.Parse(tmpData[2].Trim())); } /// /// 字符串改变 /// /// /// /// public static string StringChange(string _msg, char _symbol) { string[] tmpMsg = _msg.Split(_symbol); return tmpMsg.Length >= 2 ? (tmpMsg[0] + "/" + tmpMsg[1]) : tmpMsg[0]; } }