diff --git a/Assets/Scripts/Editor/convertutf8.cs b/Assets/Scripts/Editor/convertutf8.cs index ce955f80c9..39c71de91e 100644 --- a/Assets/Scripts/Editor/convertutf8.cs +++ b/Assets/Scripts/Editor/convertutf8.cs @@ -1,263 +1,117 @@  using UnityEngine; - using UnityEditor; - using System.IO; - using System.Text; - - /// - /// 这个是讲lua文件转化为UTF-8格式的工具 - /// - - - public class SetLuaToUTF8 : EditorWindow - { - - // 常量 // - + // 常量 // private const string EDITOR_VERSION = "v0.01"; // 这个编辑器的版本号 // - // gui 相关 // - private Vector2 m_scrollPos; // 记录 gui 界面的滚动 // - - - private string m_luaPath = "ManagedResources/~Lua/"; // 文件路径 - private string m_fileSuffix = ".lua"; // 文件后缀 - - - /// - /// 数据目录 - /// - static string AppDataPath - { - get { return Application.dataPath.ToLower(); } - } - - - [MenuItem("Lua/File to UTF-8 Encoding")] - static void Init() - { - Debug.Log("初始化转化lua文件为UTF-8格式"); - // Get existing open window or if none, make a new one: - SetLuaToUTF8 window = (SetLuaToUTF8)EditorWindow.GetWindow(typeof(SetLuaToUTF8)); - } - - - // UI 按钮显示 // - void OnGUI() - { - m_scrollPos = GUILayout.BeginScrollView(m_scrollPos, GUILayout.Width(Screen.width), GUILayout.Height(Screen.height)); - GUILayout.BeginVertical(); // begin - - - //-------------- 调试按钮 --------------// - // 导出 UI 路径 // - GUILayout.Label("==========================="); - - - GUILayout.BeginHorizontal(); - GUILayout.Label("要转化的路径: "); // - m_luaPath = GUILayout.TextField(m_luaPath, 64); - GUILayout.EndHorizontal(); - GUILayout.BeginHorizontal(); - GUILayout.Label("文件后缀: "); // - m_fileSuffix = GUILayout.TextField(m_fileSuffix, 64); - GUILayout.EndHorizontal(); - if (GUILayout.Button("\n 文件转utf-8格式 \n")) // - { - this.Conversion(); - } - - - //-------------- end 调试按钮 --------------// - GUILayout.Space(5); - GUILayout.Label("工具版本号: " + EDITOR_VERSION); // - GUILayout.EndVertical(); // end - GUILayout.EndScrollView(); - } - - // 开始转化 - private void Conversion() - { - if (m_luaPath.Equals(string.Empty)) - { - return; - } - - - if (!IsFolderExists(m_luaPath)) { - Debug.LogError("找不到文件夹路径!"); - return; - } - - - string path = AppDataPath + "/" + m_luaPath; - string[] files = Directory.GetFiles(path, "*", SearchOption.AllDirectories); - foreach (string file in files) - { - - if (!file.EndsWith(m_fileSuffix)) continue; - + if (!file.EndsWith(m_fileSuffix)) continue; string strTempPath = file.Replace(@"\", "/"); - Debug.Log("文件路径:" + strTempPath); - ConvertFileEncoding(strTempPath, null, new UTF8Encoding(false)); - } - - - AssetDatabase.Refresh(); - Debug.Log("格式转换完成!"); - } - - - /// 检测是否存在文件夹 - private static bool IsFolderExists(string folderPath) - { - if (folderPath.Equals(string.Empty)) - { - - return false; - + return false; } - - - return Directory.Exists(GetFullPath(folderPath)); - } - - - /// 返回Application.dataPath下完整目录 private static string GetFullPath(string srcName) - { - if (srcName.Equals(string.Empty)) - { - return Application.dataPath; - } - - - if (srcName[0].Equals('/')) - { - srcName.Remove(0, 1); - } - - - return Application.dataPath + "/" + srcName; - } - - - /// - /// 文件编码转换 - /// - /// 源文件 - /// 目标文件,如果为空,则覆盖源文件 - /// 目标编码 - private static void ConvertFileEncoding(string sourceFile, string destFile, Encoding targetEncoding) - { - destFile = string.IsNullOrEmpty(destFile) ? sourceFile : destFile; - File.WriteAllText(destFile, File.ReadAllText(sourceFile, Encoding.UTF8), targetEncoding); - } - }