using TMPro; using UnityEngine; using UnityEngine.UI; public class LanguageMatch : MonoBehaviour { public string configName; private TextScroll txtScroll; private Text languageText; private TextMeshProUGUI languageTextMeshPro; private Image img; private void Awake() { languageText = GetComponent(); languageTextMeshPro = GetComponent(); img = GetComponent(); txtScroll = transform.parent.GetComponent(); } void OnEnable() { LanguageMatchManager.Instance.AddScrLanguageMatch(this); } public async void RefreshTxt(string str) { if (img != null) { img.sprite = await YooAssetManager.Instance.LoadAsset(str); } else { LanguageType lt = LanguageMatchManager.Instance.GetCurLanType(); if (languageText) languageText.text = str; if (languageTextMeshPro) { languageTextMeshPro.text = str; languageTextMeshPro.characterSpacing = 0; languageTextMeshPro.wordSpacing = 0; float interval = lt == LanguageType.cn ? 20 : 10; if (lt == LanguageType.cn) { languageTextMeshPro.characterSpacing = interval; } else { languageTextMeshPro.wordSpacing = interval; } } txtScroll?.CheckScroll(); } } private void OnDisable() { LanguageMatchManager.Instance.RemoveScrLanguageMatch(this); } private void OnDestroy() { LanguageMatchManager.Instance.RemoveScrLanguageMatch(this); } }