using System.Collections; using System.Collections.Generic; using System.Threading.Tasks; using Newtonsoft.Json; using UnityEngine; namespace Kill.Base { public class LanguageManager : MonoBehaviour { public static LanguageManager Instance; [System.Serializable] public struct Language { public string key; public string zh; public string en; } List languageList; [System.Serializable] public enum LanguageType { Chinese, English } void Awake() { Instance = this; } public LanguageType languageType = LanguageType.English; public async Task Init() { TextAsset textAsset = await LoadRes.Instance.LoadAssetAsync("language", "language.json"); languageList = JsonConvert.DeserializeObject>(textAsset.text); } public string GetLanguage(string key) { int index = languageList.FindIndex(x => x.key == key); if(index<0||index>=languageList.Count) index=0; if (languageType == LanguageType.Chinese) return languageList[index].zh; else return languageList[index].en; } } }