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 "无";
}
}
}