using System; using System.Collections; using Cute; using UnityEngine; public class FontChanger { public static IEnumerator FontChange(Action callback) { string font = getFont(); string text = "font_" + font + ".unity3d"; bool isDone = false; string filename = text.ToLower(); Toolbox.AssetManager.CacheAsset(filename, delegate { AssetHandle assetHandle = Toolbox.AssetManager.GetAssetHandle(filename); if (assetHandle != null) { assetHandle.isMultipleHandleIgnorAsset = true; } isDone = true; }); while (!isDone) { yield return 0; } Global.GAME_FONT = Toolbox.ResourcesManager.LoadObject("Font/" + font); if (Global.GAME_FONT != null) { Global.GAME_FONT_NAME = font; } callback?.Invoke(); } private static string getFont() { return Toolbox.SavedataManager.GetString("LANG_FONT", Global.GetFontLangType(Global.LANG_TYPE.Eng.ToString())); } }