using System; using System.Collections.Generic; using UnityEditor; namespace UnityEngine.UI { public class UGUITextTool { public static ITextTool TextTool; public interface IConfig { int GetID(); } [Serializable] public struct LanguageChineseConfig : IConfig { public int GetID() { return ID; } /// ///ID /// #if !COMBAT_SERVER public int ID; #else public int ID{ set; get; } #endif /// ///文本内容 /// #if !COMBAT_SERVER public string txt; #else public string txt{ set; get; } #endif } public class EditorLanguageChinese { public List configList = new List(); public string Text(int id) { for (int i = 0; i < configList.Count; i++) { if (configList[i].ID == id) { return configList[i].txt; } } return "无"; } } protected static EditorLanguageChinese editorLanguageChinese; protected static EditorLanguageChinese editorStartLanguageChinese; public static string GetLanguageMassage(int id) { if (!Application.isPlaying) { #if UNITY_EDITOR editorStartLanguageChinese = new EditorLanguageChinese(); TextAsset ta = AssetDatabase.LoadAssetAtPath(@"Assets\Res\Config\StartGameLanguageChineseConfig.json"); if (ta != null) { editorStartLanguageChinese = JsonUtility.FromJson(ta.text); } editorLanguageChinese = new EditorLanguageChinese(); ta = AssetDatabase.LoadAssetAtPath(@"Assets\Res\Config\LanguageChineseConfig.json"); if (ta != null) { editorLanguageChinese = JsonUtility.FromJson(ta.text); } if (editorStartLanguageChinese != null && editorStartLanguageChinese.Text(id) != "无") { return editorStartLanguageChinese.Text(id); } else { if (editorLanguageChinese != null) { return editorLanguageChinese.Text(id); } } #endif } else { return TextTool?.GetLanguageMassge(id); } return "无"; } } }