using System; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class ChangeLanguageWin : UIBase { [SerializeField] Toggle[] languageToggles; [SerializeField] Text[] languageTexts; [SerializeField] Button changeBtn; List languageList = new List(); protected override void InitComponent() { changeBtn.AddListener(() => { int index = 0; for (int i = 0; i < languageToggles.Length; i++) { if (languageToggles[i].isOn) { index = i; break; } } var lgId = languageList[index]; ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("language_tip_info"), Language.Get("language_tip_btn2"), Language.Get("language_tip_btn1"), (yes) => { if (yes) { Language.Id = lgId; #if UNITY_EDITOR UnityEditor.EditorApplication.isPlaying = false; #else Application.Quit(); #endif } }); }); } protected override void OnPreOpen() { languageList = new List(); Display(); } protected override void OnPreClose() { base.OnPreClose(); } void Display() { var languages = Language.GetLanguages(); for (int i = 0; i < languageToggles.Length; i++) { if (i < languages.Length) { languageToggles[i].SetActive(true); languageTexts[i].text = Language.languageShowDict[languages[i]]; if (Language.Id == languages[i]) { languageToggles[i].isOn = true; } languageList.Add(languages[i]); } else { languageToggles[i].SetActive(false); } } } }