From d1d7a6dcbd4bd0d689d0d379d2d887d01b0beacb Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期二, 09 十二月 2025 16:21:07 +0800
Subject: [PATCH] 0312 优化字符串拼接函数
---
Assets/Editor/Tool/BytesVersionMaker.cs | 6
Assets/Editor/Tool/ClientPackage_Standalone.cs | 4
Assets/Editor/Tool/UpdateSpritePackingSetting.cs | 32 +++---
Assets/Launch/Common/FileExtersion.cs | 4
Assets/Editor/Tool/ClientPackage.cs | 10 +-
Assets/Launch/UI/LaunchWins/LaunchExWin.cs | 6
Assets/Editor/Tool/AssetsVersionCmpMaker.cs | 2
Assets/Editor/Tool/AssetsVersionMaker.cs | 6
Assets/Launch/Utility/StringUtility.cs | 83 ++++++++++++----
Assets/Editor/Tool/AssetBundleBuildExtersion.cs | 10 +-
Assets/Editor/Tool/SpriteManageTool.cs | 8
Assets/Editor/ConfigGen/ConfigClassGenerate.cs | 90 +++++++++---------
12 files changed, 152 insertions(+), 109 deletions(-)
diff --git a/Assets/Editor/ConfigGen/ConfigClassGenerate.cs b/Assets/Editor/ConfigGen/ConfigClassGenerate.cs
index efd5e6f..25f551a 100644
--- a/Assets/Editor/ConfigGen/ConfigClassGenerate.cs
+++ b/Assets/Editor/ConfigGen/ConfigClassGenerate.cs
@@ -351,132 +351,132 @@
field = field.Replace(" ", "");
if (type.Contains("Dictionary<int, int[][]>"))
{
- return StringUtility.Contact(field, " = ConfigParse.ParseIntArray2Dict(tables", "[", index, "].Replace(\"(\", \"[\").Replace(\")\", \"]\")); ");
+ return StringUtility.Concat(field, " = ConfigParse.ParseIntArray2Dict(tables", "[", index.ToString(), "].Replace(\"(\", \"[\").Replace(\")\", \"]\")); ");
}
else if (type.Contains("int[][]"))
{
- return StringUtility.Contact(field, " = JsonMapper.ToObject<int[][]>(tables", "[", index, "].Replace(\"(\", \"[\").Replace(\")\", \"]\")); ");
+ return StringUtility.Concat(field, " = JsonMapper.ToObject<int[][]>(tables", "[", index.ToString(), "].Replace(\"(\", \"[\").Replace(\")\", \"]\")); ");
}
else if (type.Contains("Dictionary<int, int>"))
{
- return StringUtility.Contact(field, " = ConfigParse.ParseIntDict(tables", "[", index, "]); ");
+ return StringUtility.Concat(field, " = ConfigParse.ParseIntDict(tables", "[", index.ToString(), "]); ");
}
else if (type.Contains("Dictionary<int, int[]>"))
{
- return StringUtility.Contact(field, " = ConfigParse.ParseIntArrayDict(tables", "[", index, "]); ");
+ return StringUtility.Concat(field, " = ConfigParse.ParseIntArrayDict(tables", "[", index.ToString(), "]); ");
}
else if (type.Contains("float[][]"))
{
- return StringUtility.Contact(field, " = JsonMapper.ToObject<float[][]>(tables", "[", index, "].Replace(\"(\", \"[\").Replace(\")\", \"]\")); ");
+ return StringUtility.Concat(field, " = JsonMapper.ToObject<float[][]>(tables", "[", index.ToString(), "].Replace(\"(\", \"[\").Replace(\")\", \"]\")); ");
}
else if (type.Contains("int[]"))
{
- var line0 = StringUtility.Contact("if (tables", "[", index, "].Contains(\"[\"))\n");
+ var line0 = StringUtility.Contact("if (tables", "[", index.ToString(), "].Contains(\"[\"))\n");
var line0_1 = StringUtility.Contact(retract3, "{\n");
- var line0_2 = StringUtility.Contact(retract4, field, " = JsonMapper.ToObject<int[]>(tables", "[", index, "]);\n");
+ var line0_2 = StringUtility.Concat(retract4, field, " = JsonMapper.ToObject<int[]>(tables", "[", index.ToString(), "]);\n");
var line0_3 = StringUtility.Contact(retract3, "}\n");
var line0_4 = StringUtility.Contact(retract3, "else\n");
var line0_5 = StringUtility.Contact(retract3, "{\n");
- var line1 = StringUtility.Contact(retract4, "string[] ", field, "StringArray", " = ", "tables", "[", index, "]", ".Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);", "\n");
- var line2 = StringUtility.Contact(retract4, field, " = ", "new int", "[", field, "StringArray.Length]", ";", "\n");
- var line3 = StringUtility.Contact(retract4, "for (int i=0;i<", field, "StringArray", ".Length", ";", "i++", ")", "\n");
+ var line1 = StringUtility.Concat(retract4, "string[] ", field, "StringArray", " = ", "tables", "[", index.ToString(), "]", ".Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);", "\n");
+ var line2 = StringUtility.Concat(retract4, field, " = ", "new int", "[", field, "StringArray.Length]", ";", "\n");
+ var line3 = StringUtility.Concat(retract4, "for (int i=0;i<", field, "StringArray", ".Length", ";", "i++", ")", "\n");
var line4 = StringUtility.Contact(retract4, "{\n");
- var line5 = StringUtility.Contact(retract5, " int.TryParse(", field, "StringArray", "[i]", ",", "out ", field, "[i]", ")", ";", "\n");
+ var line5 = StringUtility.Concat(retract5, " int.TryParse(", field, "StringArray", "[i]", ",", "out ", field, "[i]", ")", ";", "\n");
var line6 = StringUtility.Contact(retract4, "}\n");
var line0_6 = StringUtility.Contact(retract3, "}");
- return StringUtility.Contact(line0, line0_1, line0_2, line0_3, line0_4, line0_5, line1, line2, line3, line4, line5, line6, line0_6);
+ return StringUtility.Concat(line0, line0_1, line0_2, line0_3, line0_4, line0_5, line1, line2, line3, line4, line5, line6, line0_6);
}
else if (type.Contains("Int2[]"))
{
- var line1 = StringUtility.Contact("string[] ", field, "StringArray", " = ", "tables", "[", index, "]", ".Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);", "\n");
- var line2 = StringUtility.Contact(retract3, field, " = ", "new Int2", "[", field, "StringArray.Length]", ";", "\n");
- var line3 = StringUtility.Contact(retract3, "for (int i=0;i<", field, "StringArray", ".Length", ";", "i++", ")", "\n");
+ var line1 = StringUtility.Concat("string[] ", field, "StringArray", " = ", "tables", "[", index.ToString(), "]", ".Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);", "\n");
+ var line2 = StringUtility.Concat(retract3, field, " = ", "new Int2", "[", field, "StringArray.Length]", ";", "\n");
+ var line3 = StringUtility.Concat(retract3, "for (int i=0;i<", field, "StringArray", ".Length", ";", "i++", ")", "\n");
var line4 = StringUtility.Contact(retract3, "{\n");
- var line5 = StringUtility.Contact(retract4, " Int2.TryParse(", field, "StringArray", "[i]", ",", "out ", field, "[i]", ")", ";", "\n");
+ var line5 = StringUtility.Concat(retract4, " Int2.TryParse(", field, "StringArray", "[i]", ",", "out ", field, "[i]", ")", ";", "\n");
var line6 = StringUtility.Contact(retract3, "}");
- return StringUtility.Contact(line1, line2, line3, line4, line5, line6);
+ return StringUtility.Concat(line1, line2, line3, line4, line5, line6);
}
else if (type.Contains("Int3[]"))
{
- var line1 = StringUtility.Contact("string[] ", field, "StringArray", " = ", "tables", "[", index, "]", ".Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);", "\n");
- var line2 = StringUtility.Contact(retract3, field, " = ", "new Int3", "[", field, "StringArray.Length]", ";", "\n");
- var line3 = StringUtility.Contact(retract3, "for (int i=0;i<", field, "StringArray", ".Length", ";", "i++", ")", "\n");
+ var line1 = StringUtility.Concat("string[] ", field, "StringArray", " = ", "tables", "[", index.ToString(), "]", ".Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);", "\n");
+ var line2 = StringUtility.Concat(retract3, field, " = ", "new Int3", "[", field, "StringArray.Length]", ";", "\n");
+ var line3 = StringUtility.Concat(retract3, "for (int i=0;i<", field, "StringArray", ".Length", ";", "i++", ")", "\n");
var line4 = StringUtility.Contact(retract3, "{\n");
- var line5 = StringUtility.Contact(retract4, " Int3.TryParse(", field, "StringArray", "[i]", ",", "out ", field, "[i]", ")", ";", "\n");
+ var line5 = StringUtility.Concat(retract4, " Int3.TryParse(", field, "StringArray", "[i]", ",", "out ", field, "[i]", ")", ";", "\n");
var line6 = StringUtility.Contact(retract3, "}");
- return StringUtility.Contact(line1, line2, line3, line4, line5, line6);
+ return StringUtility.Concat(line1, line2, line3, line4, line5, line6);
}
else if (type.Contains("float[]"))
{
- var line0 = StringUtility.Contact("if (tables", "[", index, "].Contains(\"[\"))\n");
+ var line0 = StringUtility.Contact("if (tables", "[", index.ToString(), "].Contains(\"[\"))\n");
var line0_1 = StringUtility.Contact(retract3, "{\n");
- var line0_2 = StringUtility.Contact(retract4, field, " = JsonMapper.ToObject<float[]>(tables", "[", index, "]);\n");
+ var line0_2 = StringUtility.Concat(retract4, field, " = JsonMapper.ToObject<float[]>(tables", "[", index.ToString(), "]);\n");
var line0_3 = StringUtility.Contact(retract3, "}\n");
var line0_4 = StringUtility.Contact(retract3, "else\n");
var line0_5 = StringUtility.Contact(retract3, "{\n");
- var line1 = StringUtility.Contact(retract4, "string[] ", field, "StringArray", " = ", "tables", "[", index, "]", ".Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);", "\n");
- var line2 = StringUtility.Contact(retract4, field, " = ", "new float", "[", field, "StringArray.Length", "]", ";", "\n");
- var line3 = StringUtility.Contact(retract4, "for (int i=0;i<", field, "StringArray", ".Length", ";", "i++", ")", "\n");
+ var line1 = StringUtility.Concat(retract4, "string[] ", field, "StringArray", " = ", "tables", "[", index.ToString(), "]", ".Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);", "\n");
+ var line2 = StringUtility.Concat(retract4, field, " = ", "new float", "[", field, "StringArray.Length", "]", ";", "\n");
+ var line3 = StringUtility.Concat(retract4, "for (int i=0;i<", field, "StringArray", ".Length", ";", "i++", ")", "\n");
var line4 = StringUtility.Contact(retract4, "{\n");
- var line5 = StringUtility.Contact(retract5, " float.TryParse(", field, "StringArray", "[i]", ",", "out ", field, "[i]", ")", ";", "\n");
+ var line5 = StringUtility.Concat(retract5, " float.TryParse(", field, "StringArray", "[i]", ",", "out ", field, "[i]", ")", ";", "\n");
var line6 = StringUtility.Contact(retract4, "}\n");
var line0_6 = StringUtility.Contact(retract3, "}");
- return StringUtility.Contact(line0, line0_1, line0_2, line0_3, line0_4, line0_5, line1, line2, line3, line4, line5, line6, line0_6);
+ return StringUtility.Concat(line0, line0_1, line0_2, line0_3, line0_4, line0_5, line1, line2, line3, line4, line5, line6, line0_6);
}
else if (type.Contains("string[]"))
{
- var line1 = StringUtility.Contact(field, " = ", "tables", "[", index, "]", ".Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);");
+ var line1 = StringUtility.Concat(field, " = ", "tables", "[", index.ToString(), "]", ".Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);");
return line1;
}
else if (type.Contains("Vector3[]"))
{
- var line1 = StringUtility.Contact("string[] ", field, "StringArray", " = ", "tables", "[", index, "]", ".Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);", "\n");
- var line2 = StringUtility.Contact(retract3, field, " = ", "new Vector3", "[", field, "StringArray.Length", "]", ";", "\n");
- var line3 = StringUtility.Contact(retract3, "for (int i=0;i<", field, "StringArray", ".Length", ";", "i++", ")", "\n");
+ var line1 = StringUtility.Concat("string[] ", field, "StringArray", " = ", "tables", "[", index.ToString(), "]", ".Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);", "\n");
+ var line2 = StringUtility.Concat(retract3, field, " = ", "new Vector3", "[", field, "StringArray.Length", "]", ";", "\n");
+ var line3 = StringUtility.Concat(retract3, "for (int i=0;i<", field, "StringArray", ".Length", ";", "i++", ")", "\n");
var line4 = StringUtility.Contact(retract3, "{\n");
- var line5 = StringUtility.Contact(retract4, field, "[i]", "=", field, "StringArray", "[i]", ".Vector3Parse()", ";", "\n");
+ var line5 = StringUtility.Concat(retract4, field, "[i]", "=", field, "StringArray", "[i]", ".Vector3Parse()", ";", "\n");
var line6 = StringUtility.Contact(retract3, "}");
- return StringUtility.Contact(line1, line2, line3, line4, line5, line6);
+ return StringUtility.Concat(line1, line2, line3, line4, line5, line6);
}
else if (type.Contains("int"))
{
- return StringUtility.Contact("int.TryParse(tables", "[", index, "]", ",", "out ", field, ")", "; ");
+ return StringUtility.Concat("int.TryParse(tables", "[", index.ToString(), "]", ",", "out ", field, ")", "; ");
}
else if (type.Contains("long"))
{
- return StringUtility.Contact("long.TryParse(tables", "[", index, "]", ",", "out ", field, ")", "; ");
+ return StringUtility.Concat("long.TryParse(tables", "[", index.ToString(), "]", ",", "out ", field, ")", "; ");
}
else if (type.Contains("float"))
{
- return StringUtility.Contact("float.TryParse(tables", "[", index, "]", ",", "out ", field, ")", "; ");
+ return StringUtility.Concat("float.TryParse(tables", "[", index.ToString(), "]", ",", "out ", field, ")", "; ");
}
else if (type.Contains("string"))
{
- return StringUtility.Contact(field, " = ", "tables", "[", index, "]", ";");
+ return StringUtility.Concat(field, " = ", "tables", "[", index.ToString(), "]", ";");
}
else if (type.Contains("Vector3"))
{
- return StringUtility.Contact(field, "=", "tables", "[", index, "]", ".Vector3Parse()", ";");
+ return StringUtility.Concat(field, "=", "tables", "[", index.ToString(), "]", ".Vector3Parse()", ";");
}
else if (type.Contains("bool"))
{
- var line1 = StringUtility.Contact("var ", field, "Temp", " = 0", ";", "\n");
- var line2 = StringUtility.Contact(retract3, "int.TryParse(tables", "[", index, "]", ",", "out ", field, "Temp", ")", "; ", "\n");
- var line3 = StringUtility.Contact(retract3, field, "=", field, "Temp", "!=0", ";");
+ var line1 = StringUtility.Concat("var ", field, "Temp", " = 0", ";", "\n");
+ var line2 = StringUtility.Concat(retract3, "int.TryParse(tables", "[", index.ToString(), "]", ",", "out ", field, "Temp", ")", "; ", "\n");
+ var line3 = StringUtility.Concat(retract3, field, "=", field, "Temp", "!=0", ";");
return StringUtility.Contact(line1, line2, line3);
}
else if (type.Contains("Int2"))
{
- return StringUtility.Contact("Int2.TryParse(tables", "[", index, "]", ",", "out ", field, ")", "; ");
+ return StringUtility.Concat("Int2.TryParse(tables", "[", index.ToString(), "]", ",", "out ", field, ")", "; ");
}
else if (type.Contains("Int3"))
{
- return StringUtility.Contact("Int3.TryParse(tables", "[", index, "]", ",", "out ", field, ")", "; ");
+ return StringUtility.Concat("Int3.TryParse(tables", "[", index.ToString(), "]", ",", "out ", field, ")", "; ");
}
else
{
diff --git a/Assets/Editor/Tool/AssetBundleBuildExtersion.cs b/Assets/Editor/Tool/AssetBundleBuildExtersion.cs
index d3919a1..7dc8aab 100644
--- a/Assets/Editor/Tool/AssetBundleBuildExtersion.cs
+++ b/Assets/Editor/Tool/AssetBundleBuildExtersion.cs
@@ -47,11 +47,11 @@
assets.Add(assetBundleBuild);
}
- var rootPath = StringUtility.Contact(output, Path.AltDirectorySeparatorChar, category);
- var mainFile = StringUtility.Contact(output, Path.AltDirectorySeparatorChar, GetMainFestFileName(buildTarget));//鏀瑰悕瀛楀墠
- var mainFileRename = StringUtility.Contact(output, Path.AltDirectorySeparatorChar, AssetVersionUtility.EncodeFileName(category), "_assetbundle");//鏀瑰悕瀛楀悗
- var manifest = StringUtility.Contact(output, Path.AltDirectorySeparatorChar, GetMainFestFileName(buildTarget), ".manifest");
- var manifestRename = StringUtility.Contact(output, Path.AltDirectorySeparatorChar, AssetVersionUtility.EncodeFileName(category), "_assetbundle.manifest");
+ var rootPath = StringUtility.Contact(output, Path.AltDirectorySeparatorChar.ToString(), category);
+ var mainFile = StringUtility.Contact(output, Path.AltDirectorySeparatorChar.ToString(), GetMainFestFileName(buildTarget));//鏀瑰悕瀛楀墠
+ var mainFileRename = StringUtility.Contact(output, Path.AltDirectorySeparatorChar.ToString(), AssetVersionUtility.EncodeFileName(category), "_assetbundle");//鏀瑰悕瀛楀悗
+ var manifest = StringUtility.Contact(output, Path.AltDirectorySeparatorChar.ToString(), GetMainFestFileName(buildTarget), ".manifest");
+ var manifestRename = StringUtility.Contact(output, Path.AltDirectorySeparatorChar.ToString(), AssetVersionUtility.EncodeFileName(category), "_assetbundle.manifest");
if (rebuild && Directory.Exists(rootPath))
Directory.Delete(rootPath, true);
diff --git a/Assets/Editor/Tool/AssetsVersionCmpMaker.cs b/Assets/Editor/Tool/AssetsVersionCmpMaker.cs
index 8fd0e3f..609efaa 100644
--- a/Assets/Editor/Tool/AssetsVersionCmpMaker.cs
+++ b/Assets/Editor/Tool/AssetsVersionCmpMaker.cs
@@ -48,7 +48,7 @@
fileSize = fileInfo.Length;
md5 = FileExtersion.GetMD5HashFromFile(fileInfo.FullName);
- lines.Add(StringUtility.Contact(relativePath, "\t", extersion, "\t", fileSize, "\t", md5));
+ lines.Add(StringUtility.Concat(relativePath, "\t", extersion, "\t", fileSize.ToString(), "\t", md5));
}
var assetVersionFile = StringUtility.Contact(Application.dataPath, "/Resources/AssetsVersionCmp.txt");
diff --git a/Assets/Editor/Tool/AssetsVersionMaker.cs b/Assets/Editor/Tool/AssetsVersionMaker.cs
index 4f476ff..ecbb1e8 100644
--- a/Assets/Editor/Tool/AssetsVersionMaker.cs
+++ b/Assets/Editor/Tool/AssetsVersionMaker.cs
@@ -39,16 +39,16 @@
fileSize = fileInfo.Length;
md5 = FileExtersion.GetMD5HashFromFile(fileInfo.FullName);
- lines.Add(StringUtility.Contact(relativePath, "\t", extersion, "\t", fileSize, "\t", md5));
+ lines.Add(StringUtility.Concat(relativePath, "\t", extersion, "\t", fileSize.ToString(), "\t", md5));
}
- var assetVersionFile = StringUtility.Contact(_path, Path.DirectorySeparatorChar, "AssetsVersion.txt");
+ var assetVersionFile = StringUtility.Contact(_path, Path.DirectorySeparatorChar.ToString(), "AssetsVersion.txt");
if (File.Exists(assetVersionFile))
{
File.Delete(assetVersionFile);
}
- File.WriteAllText(StringUtility.Contact(_path, Path.DirectorySeparatorChar, "AssetsVersion.txt"), string.Join(FileExtersion.lineSplit, lines.ToArray()));
+ File.WriteAllText(StringUtility.Contact(_path, Path.DirectorySeparatorChar.ToString(), "AssetsVersion.txt"), string.Join(FileExtersion.lineSplit, lines.ToArray()));
}
}
diff --git a/Assets/Editor/Tool/BytesVersionMaker.cs b/Assets/Editor/Tool/BytesVersionMaker.cs
index 2fdc1bf..e11c980 100644
--- a/Assets/Editor/Tool/BytesVersionMaker.cs
+++ b/Assets/Editor/Tool/BytesVersionMaker.cs
@@ -31,16 +31,16 @@
fileSize = fileInfo.Length;
md5 = FileExtersion.GetMD5HashFromFile(fileInfo.FullName);
- lines.Add(StringUtility.Contact(relativePath, "\t", extersion, "\t", fileSize, "\t", md5));
+ lines.Add(StringUtility.Concat(relativePath, "\t", extersion, "\t", fileSize.ToString(), "\t", md5));
}
- var assetVersionFile = StringUtility.Contact(_path, Path.DirectorySeparatorChar, "logicbytes.txt");
+ var assetVersionFile = StringUtility.Contact(_path, Path.DirectorySeparatorChar.ToString(), "logicbytes.txt");
if (File.Exists(assetVersionFile))
{
File.Delete(assetVersionFile);
}
- File.WriteAllText(StringUtility.Contact(_path, Path.DirectorySeparatorChar, "logicbytes.txt"), string.Join(FileExtersion.lineSplit, lines.ToArray()));
+ File.WriteAllText(StringUtility.Contact(_path, Path.DirectorySeparatorChar.ToString(), "logicbytes.txt"), string.Join(FileExtersion.lineSplit, lines.ToArray()));
}
}
diff --git a/Assets/Editor/Tool/ClientPackage.cs b/Assets/Editor/Tool/ClientPackage.cs
index 559d1b4..9897f71 100644
--- a/Assets/Editor/Tool/ClientPackage.cs
+++ b/Assets/Editor/Tool/ClientPackage.cs
@@ -397,7 +397,7 @@
public static void BuildApk(string _sdkPath, string _output, string _publisher, int _buildIndex, bool _development)
{
PreBuild(_publisher, _buildIndex);
- var auditTimeFile = StringUtility.Contact(Application.dataPath, Path.DirectorySeparatorChar, "Resources/Config/AuditTime.txt");
+ var auditTimeFile = StringUtility.Contact(Application.dataPath, Path.DirectorySeparatorChar.ToString(), "Resources/Config/AuditTime.txt");
if (File.Exists(auditTimeFile))
{
File.Delete(auditTimeFile);
@@ -485,7 +485,7 @@
string channelSdkPath;
string copySdkFile;
- channelSdkPath = StringUtility.Contact(_sdkPath, "/Channel/Android/", versionConfig.sdkFileName, "/", variant);
+ channelSdkPath = StringUtility.Concat(_sdkPath, "/Channel/Android/", versionConfig.sdkFileName, "/", variant);
copySdkFile = StringUtility.Contact(_sdkPath, "/Channel/Android/", versionConfig.sdkFileName, "/AndroidManifest.xml");
File.Copy(copySdkFile, MANIFEST_PATH);
copySdkFile = StringUtility.Contact(_sdkPath, "/Channel/Android/", versionConfig.sdkFileName, "/baseProjectTemplate.gradle");
@@ -539,7 +539,7 @@
if (_development)
{
- var apkName = StringUtility.Contact(_output, "/", versionName, "_", versionConfig.clientPackageFlag, "_v", versionConfig.m_Version, "_", _buildIndex, "_development.apk");
+ var apkName = StringUtility.Concat(_output, "/", versionName, "_", versionConfig.clientPackageFlag, "_v", versionConfig.m_Version, "_", _buildIndex.ToString(), "_development.apk");
BuildPipeline.BuildPlayer(baseLevels, apkName, BuildTarget.Android, BuildOptions.Development | BuildOptions.ConnectWithProfiler | BuildOptions.AllowDebugging);
}
else
@@ -548,12 +548,12 @@
if (EditorUserBuildSettings.buildAppBundle)
{
Debug.Log("鍕鹃�変簡 Build App Bundle (Google Play) 鎵撳寘aab");
- apkName = StringUtility.Contact(_output, "/", versionName, "_", versionConfig.clientPackageFlag, "_v", versionConfig.m_Version, "_", _buildIndex, ".aab");
+ apkName = StringUtility.Concat(_output, "/", versionName, "_", versionConfig.clientPackageFlag, "_v", versionConfig.m_Version, "_", _buildIndex.ToString(), ".aab");
}
else
{
Debug.Log("娌℃湁鍕鹃�� Build App Bundle (Google Play) 鎵撳寘apk");
- apkName = StringUtility.Contact(_output, "/", versionName, "_", versionConfig.clientPackageFlag, "_v", versionConfig.m_Version, "_", _buildIndex, ".apk");
+ apkName = StringUtility.Concat(_output, "/", versionName, "_", versionConfig.clientPackageFlag, "_v", versionConfig.m_Version, "_", _buildIndex.ToString(), ".apk");
}
BuildPipeline.BuildPlayer(baseLevels, apkName, BuildTarget.Android, BuildOptions.None);
}
diff --git a/Assets/Editor/Tool/ClientPackage_Standalone.cs b/Assets/Editor/Tool/ClientPackage_Standalone.cs
index 83cde12..9b47154 100644
--- a/Assets/Editor/Tool/ClientPackage_Standalone.cs
+++ b/Assets/Editor/Tool/ClientPackage_Standalone.cs
@@ -333,12 +333,12 @@
if (development)
{
- var name = StringUtility.Contact(output, "/", versionName, "_", versionConfig.clientPackageFlag, "_v", versionConfig.m_Version, "_", buildIndex, "_development.exe");
+ var name = StringUtility.Concat(output, "/", versionName, "_", versionConfig.clientPackageFlag, "_v", versionConfig.m_Version, "_", buildIndex.ToString(), "_development.exe");
BuildPipeline.BuildPlayer(baseLevels, name, BuildTarget.StandaloneWindows, BuildOptions.Development | BuildOptions.ConnectWithProfiler | BuildOptions.AllowDebugging);
}
else
{
- var name = StringUtility.Contact(output, "/", versionName, "_", versionConfig.clientPackageFlag, "_v", versionConfig.m_Version, "_", buildIndex, ".exe");
+ var name = StringUtility.Concat(output, "/", versionName, "_", versionConfig.clientPackageFlag, "_v", versionConfig.m_Version, "_", buildIndex.ToString(), ".exe");
BuildPipeline.BuildPlayer(baseLevels, name, BuildTarget.StandaloneWindows, BuildOptions.None);
}
}
diff --git a/Assets/Editor/Tool/SpriteManageTool.cs b/Assets/Editor/Tool/SpriteManageTool.cs
index 525e838..3d5832d 100644
--- a/Assets/Editor/Tool/SpriteManageTool.cs
+++ b/Assets/Editor/Tool/SpriteManageTool.cs
@@ -245,7 +245,7 @@
var _detail = _list[i];
var _fatherDetail = _detail.fatherDetail;
GUILayout.BeginHorizontal();
- GUILayout.Label(StringUtility.Contact(i + 1, ".", "Path: "));
+ GUILayout.Label(StringUtility.Contact((i + 1).ToString(), ".", "Path: "));
var _path = StringUtility.Contact(_detail.fatherDetail, _fatherDetail == string.Empty ? string.Empty : "/", _detail.name);
GUILayout.TextField(_path);
if (_fatherDetail != string.Empty && GUILayout.Button("Goto"))
@@ -288,7 +288,7 @@
}
GUILayout.BeginHorizontal();
var _fatherDetail = _detail.fatherDetail;
- GUILayout.Label(StringUtility.Contact(i + 1, ".", "Path: "));
+ GUILayout.Label(StringUtility.Contact((i + 1).ToString(), ".", "Path: "));
var _path = StringUtility.Contact(_detail.fatherDetail, _fatherDetail == string.Empty ? string.Empty : "/", _detail.name);
GUILayout.TextField(_path);
if (_fatherDetail != string.Empty && GUILayout.Button("Goto"))
@@ -425,7 +425,7 @@
var _match = _matchs[_index - 1];
GetRefComponent(_list[_index], _list[_index].Split('\n'), _match.Groups[1].Value);
bool isCancel = EditorUtility.DisplayCancelableProgressBar("鏌ユ壘寮曠敤璧勬簮",
- StringUtility.Contact(_index, "/", _list.Count), (float)_index / (float)_list.Count);
+ StringUtility.Contact(_index.ToString(), "/", _list.Count.ToString()), (float)_index / (float)_list.Count);
_index++;
if (isCancel || _index >= _list.Count)
{
@@ -447,7 +447,7 @@
_details.Add(_detail);
}
isCancel = EditorUtility.DisplayCancelableProgressBar("鏌ユ壘寮曠敤璧勬簮",
- StringUtility.Contact(_index, "/", _keys.Count), (float)_index / (float)_keys.Count);
+ StringUtility.Contact(_index.ToString(), "/", _keys.Count.ToString()), (float)_index / (float)_keys.Count);
_index++;
if (isCancel || _index >= _keys.Count)
{
diff --git a/Assets/Editor/Tool/UpdateSpritePackingSetting.cs b/Assets/Editor/Tool/UpdateSpritePackingSetting.cs
index 2ec3e79..0cc3ee4 100644
--- a/Assets/Editor/Tool/UpdateSpritePackingSetting.cs
+++ b/Assets/Editor/Tool/UpdateSpritePackingSetting.cs
@@ -1,19 +1,19 @@
-锘縰sing System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-using UnityEditor;
-using System.IO;
-using System;
-using UnityEditor.U2D;
-using UnityEngine.U2D;
-
-
+锘縰sing System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEditor;
+using System.IO;
+using System;
+using UnityEditor.U2D;
+using UnityEngine.U2D;
+
+
public class UpdateSpritePackingSetting
-{
- static string rootPath = Application.dataPath + "/ResourcesOut/Sprite";
+{
+ static string rootPath = Application.dataPath + "/ResourcesOut/Sprite";
static string spriteRelativePath = "Assets/ResourcesOut/Sprite";
- [MenuItem("绋嬪簭/Sprite/鏍囧噯鍖朣prite璁剧疆")]
+ [MenuItem("绋嬪簭/Sprite/鏍囧噯鍖朣prite璁剧疆")]
public static void UpdateAllSpritePackingSetting()
{
var path = "Assets/Editor/SpritePacking/SpriteSettings.asset";
@@ -26,7 +26,7 @@
foreach (var setting in so.spriteSettings)
{
- var directoryPath = StringUtility.Contact(rootPath, Path.DirectorySeparatorChar, setting.folderName);
+ var directoryPath = StringUtility.Contact(rootPath, Path.DirectorySeparatorChar.ToString(), setting.folderName);
if (!Directory.Exists(directoryPath))
{
@@ -164,7 +164,7 @@
int index = 0;
foreach (SpriteSettingConfig.SpriteSetting setting in so.spriteSettings)
{
- var directoryPath = StringUtility.Contact(rootPath, Path.DirectorySeparatorChar, setting.folderName);
+ var directoryPath = StringUtility.Contact(rootPath, Path.DirectorySeparatorChar.ToString(), setting.folderName);
if (!Directory.Exists(directoryPath))
{
@@ -275,7 +275,7 @@
AssetDatabase.Refresh();
}
-
+
/// <summary>
/// 姣忎釜鍥鹃泦鐨勬墍鏈夊浘鐗囪矾寰� -- 璁板緱鐢ㄤ箣鍓嶆竻绌�
diff --git a/Assets/Launch/Common/FileExtersion.cs b/Assets/Launch/Common/FileExtersion.cs
index aa78bb5..0604e01 100644
--- a/Assets/Launch/Common/FileExtersion.cs
+++ b/Assets/Launch/Common/FileExtersion.cs
@@ -105,7 +105,7 @@
{
var startIndex = index + 9;
fileName = fileName.Substring(startIndex, fileName.Length - startIndex);
- return StringUtility.Contact(Path.GetDirectoryName(_fullName), Path.DirectorySeparatorChar, fileName);
+ return StringUtility.Contact(Path.GetDirectoryName(_fullName), Path.DirectorySeparatorChar.ToString(), fileName);
}
else
{
@@ -123,7 +123,7 @@
fileName = fileName.Substring(0, index);
}
- return StringUtility.Contact(Path.GetDirectoryName(_fullName), Path.DirectorySeparatorChar, _version, "_version_", fileName);
+ return StringUtility.Concat(Path.GetDirectoryName(_fullName), Path.DirectorySeparatorChar.ToString(), _version.ToString(), "_version_", fileName);
}
public static void DirectoryCopy(string _from, string _to)
diff --git a/Assets/Launch/UI/LaunchWins/LaunchExWin.cs b/Assets/Launch/UI/LaunchWins/LaunchExWin.cs
index 86c679a..ebb557b 100644
--- a/Assets/Launch/UI/LaunchWins/LaunchExWin.cs
+++ b/Assets/Launch/UI/LaunchWins/LaunchExWin.cs
@@ -67,7 +67,7 @@
m_IosProgressContainer.gameObject.SetActive(false);
//鎵撳寘鐗堟湰 + 鍔熻兘鐗堟湰 + 璇█ID
- m_Version.text = StringUtility.Contact(VersionConfigEx.Get().version, "_", VersionConfigEx.Get().buildIndex,
+ m_Version.text = StringUtility.Concat(VersionConfigEx.Get().version, "_", VersionConfigEx.Get().buildIndex.ToString(),
"_", InitialFunctionConfig.Get("version").Numerical1, " ", LocalResManager.Id);
}
@@ -117,13 +117,13 @@
}
if (ShowCircleView)
{
- m_IosProgressTip.text = StringUtility.Contact(sliderText, " ", (int)(value * 100), "%");
+ m_IosProgressTip.text = StringUtility.Contact(sliderText, " ", ((int)(value * 100)).ToString(), "%");
//circleImg.Rotate(Vector3.forward, -1800 * Time.deltaTime);
}
else
{
m_TotalProgressSlider.value = value;
- m_StageDescription.text = StringUtility.Contact(sliderText, " ", (int)(value * 100), "%");
+ m_StageDescription.text = StringUtility.Contact(sliderText, " ", ((int)(value * 100)).ToString(), "%");
}
}
diff --git a/Assets/Launch/Utility/StringUtility.cs b/Assets/Launch/Utility/StringUtility.cs
index f28fc97..72bd249 100644
--- a/Assets/Launch/Utility/StringUtility.cs
+++ b/Assets/Launch/Utility/StringUtility.cs
@@ -1,46 +1,89 @@
-锘縰sing UnityEngine;
+using UnityEngine;
using System.Collections;
using System.Text;
+using System;
public class StringUtility
{
- public static string[] splitSeparator = new string[] { "|" };
+ public static readonly string[] splitSeparator = new string[] { "|" };
- private static StringBuilder s_CacheStringBuilder = new StringBuilder();
- static object lockObject = new object();
-
- public static string Contact(params object[] _objects)
+ // 鏂板锛氫负寰幆璋冪敤鐨勪紭鍖栫増鏈紙澶嶇敤StringBuilder锛�
+ [ThreadStatic]
+ private static StringBuilder _threadLocalStringBuilder;
+
+ /// <summary>
+ /// 鑾峰彇褰撳墠绾跨▼鐨凷tringBuilder
+ /// </summary>
+ private static StringBuilder GetThreadLocalStringBuilder()
{
- lock (lockObject)
+ if (_threadLocalStringBuilder == null)
{
- s_CacheStringBuilder.Remove(0, s_CacheStringBuilder.Length);
- for (int i = 0; i < _objects.Length; ++i)
- {
- if (_objects[i] != null)
- {
- s_CacheStringBuilder.Append(_objects[i]);
- }
- }
- return s_CacheStringBuilder.ToString();
+ _threadLocalStringBuilder = new StringBuilder();
}
+ return _threadLocalStringBuilder;
}
+
+ /// <summary>
+ /// 鏅鸿兘瀛楃涓叉嫾鎺ユ柟娉曪紝鑷姩閫夋嫨鏈�浼樼瓥鐣�
+ /// - 2-4涓瓧绗︿覆锛氱洿鎺ヤ娇鐢� string.Concat() (鏈�楂樻�ц兘)
+ /// - 5涓互涓婂瓧绗︿覆锛氫娇鐢ㄧ嚎绋嬫湰鍦� StringBuilder 澶嶇敤 (寰幆浼樺寲)
+ /// </summary>
+ public static string Concat(params string[] _objects)
+ {
+ // 灏戦噺瀛楃涓茬洿鎺ヤ娇鐢–oncat锛屾�ц兘鏈�浣�
+ if (_objects.Length <= 4)
+ {
+ return string.Concat(_objects);
+ }
+
+ // 澶ч噺瀛楃涓蹭娇鐢ㄧ嚎绋嬫湰鍦癝tringBuilder锛岄伩鍏嶉噸澶嶅垱寤�
+ var sb = GetThreadLocalStringBuilder();
+ sb.Clear();
+ foreach (string str in _objects)
+ {
+ sb.Append(str);
+ }
+ return sb.ToString();
+ }
+
+ // AI鎻愰啋瀹為檯鍦ㄧ幇浠g紪杈戝櫒涓紝浣庝簬4涓瓧绗︿覆鐨�+ 鎿嶄綔绗︾殑鎬ц兘鍜� string.Concat 鍑犱箮鐩稿悓锛屼細琚櫤鑳戒紭鍖栦负 string.Concat
+ // 娣诲姞甯哥敤2涓瓧绗︿覆鎷兼帴鐨勪紭鍖栫増鏈�
+ public static string Contact(string str1, string str2)
+ {
+ return string.Concat(str1, str2);
+ }
+
+ // 娣诲姞甯哥敤3涓瓧绗︿覆鎷兼帴鐨勪紭鍖栫増鏈�
+ public static string Contact(string str1, string str2, string str3)
+ {
+ return string.Concat(str1, str2, str3);
+ }
+
+ // 娣诲姞甯哥敤4涓瓧绗︿覆鎷兼帴鐨勪紭鍖栫増鏈�
+ public static string Contact(string str1, string str2, string str3, string str4)
+ {
+ return string.Concat(str1, str2, str3, str4);
+ }
+
+
+
public static string FormatSpeed(float speed)
{
if (speed > 1048576f)
{
- return StringUtility.Contact((speed / 1048576f).ToString("f1"), " M/S");
+ return Contact((speed / 1048576f).ToString("f1"), " M/S");
}
else if (speed > 1024f)
{
- return StringUtility.Contact((speed / 1024f).ToString("f1"), " KB/S");
+ return Contact((speed / 1024f).ToString("f1"), " KB/S");
}
else
{
- return StringUtility.Contact(speed.ToString("f1"), " B/S");
- };
+ return Contact(speed.ToString("f1"), " B/S");
+ }
}
}
--
Gitblit v1.8.0