From 3f2cd27c5dfb3b450245bf1a37fc1b3414031c7c Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期三, 11 二月 2026 11:03:58 +0800
Subject: [PATCH] 小游戏适配 资源系统改造

---
 Main/Utility/FontUtility.cs |   27 +++++++++++++++++++++------
 1 files changed, 21 insertions(+), 6 deletions(-)

diff --git a/Main/Utility/FontUtility.cs b/Main/Utility/FontUtility.cs
index 09d455f..d612580 100644
--- a/Main/Utility/FontUtility.cs
+++ b/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");
     }
 
 }

--
Gitblit v1.8.0