2025-08-06 10:56:25 +08:00
|
|
|
#if TEXTMESHPRO_SUPPORT
|
|
|
|
|
2025-02-07 16:15:34 +08:00
|
|
|
using TMPro;
|
|
|
|
|
|
|
|
namespace UnityEngine.UI
|
|
|
|
{
|
|
|
|
public class UXTextMeshPro : TextMeshProUGUI
|
|
|
|
{
|
|
|
|
[SerializeField] private string m_localizationID = "";
|
2025-04-07 13:56:27 +08:00
|
|
|
|
2025-02-07 16:15:34 +08:00
|
|
|
protected override void Start()
|
|
|
|
{
|
|
|
|
base.Start();
|
|
|
|
if (!Application.isPlaying) return;
|
|
|
|
ChangeLanguage();
|
|
|
|
}
|
|
|
|
|
|
|
|
protected void ChangeLanguage()
|
|
|
|
{
|
2025-08-01 19:32:36 +08:00
|
|
|
if (!string.IsNullOrEmpty(m_localizationID) && !"None".Equals(m_localizationID) && UXComponentExtensionsHelper.LocalizationHelper != null)
|
2025-02-07 16:15:34 +08:00
|
|
|
{
|
2025-08-01 19:32:36 +08:00
|
|
|
text = UXComponentExtensionsHelper.LocalizationHelper.GetString(m_localizationID);
|
2025-02-07 16:15:34 +08:00
|
|
|
}
|
|
|
|
}
|
2025-05-15 15:34:12 +08:00
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 重新动态设置多语言
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="localizationID"></param>
|
|
|
|
public void SetLocalization(string localizationID)
|
|
|
|
{
|
|
|
|
m_localizationID = localizationID;
|
|
|
|
ChangeLanguage();
|
|
|
|
}
|
2025-02-07 16:15:34 +08:00
|
|
|
}
|
|
|
|
}
|
2025-08-06 10:56:25 +08:00
|
|
|
|
|
|
|
#endif
|