yyl
2026-02-11 3f2cd27c5dfb3b450245bf1a37fc1b3414031c7c
Main/Utility/FontUtility.cs
@@ -2,17 +2,32 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Cysharp.Threading.Tasks;
using ProjSG.Resource;
public class FontUtility
{
    static Font m_Preferred;
    public static Font preferred {
        get { return m_Preferred ?? (m_Preferred = ResManager.Instance.LoadAsset<Font>("Font", "GameFont1")); }
    // T044: Fonts must be pre-loaded via StartupEssential preload config
    // (location: "Assets/ResourcesOut/BuiltIn/Font")
    public static Font preferred
    {
        get { return ResourceCacheManager.Instance.GetCached<Font>("Assets/ResourcesOut/BuiltIn/Font/GameFont1.ttf"); }
    }
    static Font m_Secondary;
    public static Font secondary {
        get { return m_Secondary ?? (m_Secondary = ResManager.Instance.LoadAsset<Font>("Font", "GameFont2")); }
    public static Font secondary
    {
        get { return ResourceCacheManager.Instance.GetCached<Font>("Assets/ResourcesOut/BuiltIn/Font/GameFont2.ttf"); }
    }
    /// <summary>
    /// US2: Async initialization — fallback API if preload is not yet available.
    /// </summary>
    public static async UniTask InitAsync()
    {
        // Fallback: async load and cache via ResManager
        await ResManager.Instance.LoadAssetAsync<Font>("Font", "GameFont1");
        await ResManager.Instance.LoadAssetAsync<Font>("Font", "GameFont2");
    }
}