using System; using System.Collections; using System.Collections.Generic; using TMPro; using UnityEngine; using UnityEngine.UI; public class LanguageItem : MonoBehaviour { public string chin; public string english; public TMP_FontAsset ChinFontAsset; public TMP_FontAsset EnglishFontAsset; public TMP_Text Text; public Image ChinImage; public Image EnglishImage; private void Awake() { Text = GetComponentInParent(); } private void Start() { LanguageManager.Instance.LanguageChange += LanguageChange; if (!LanguageManager.Instance.IsSimplified) chin = LanguageManager.Instance.S2T(chin); else chin = LanguageManager.Instance.T2S(chin); LanguageChange(LanguageManager.LanguageType.English); } private void LanguageChange(LanguageManager.LanguageType type) { switch (type) { case LanguageManager.LanguageType.English: if (ChinImage != null && EnglishImage != null) { ChinImage.gameObject.SetActive(false); EnglishImage.gameObject.SetActive(true); } if (Text != null) { Text.text = english; Text.font = EnglishFontAsset; } break; case LanguageManager.LanguageType.Chinese: if (ChinImage != null && EnglishImage != null) { ChinImage.gameObject.SetActive(true); EnglishImage.gameObject.SetActive(false); } if (Text != null) { Text.text = chin; Text.font = ChinFontAsset; } break; default: throw new ArgumentOutOfRangeException(nameof(type), type, null); } } }