From 3f2cd27c5dfb3b450245bf1a37fc1b3414031c7c Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期三, 11 二月 2026 11:03:58 +0800
Subject: [PATCH] 小游戏适配 资源系统改造
---
Main/Utility/MaterialUtility.cs | 37 +++++++++++++++++++++++++++++++++----
1 files changed, 33 insertions(+), 4 deletions(-)
diff --git a/Main/Utility/MaterialUtility.cs b/Main/Utility/MaterialUtility.cs
index 2249278..d5bf793 100644
--- a/Main/Utility/MaterialUtility.cs
+++ b/Main/Utility/MaterialUtility.cs
@@ -1,13 +1,17 @@
锘縰sing UnityEngine;
using System;
+using Cysharp.Threading.Tasks;
+using ProjSG.Resource;
public static class MaterialUtility
{
+ // T044: Materials must be pre-loaded via StartupEssential preload config
+ // (location: "Assets/ResourcesOut/BuiltIn/Materials")
public static Material GetDefaultSpriteGrayMaterial()
{
- return ResManager.Instance.LoadAsset<Material>("BuiltIn/Materials", "SpriteGray");
+ return ResourceCacheManager.Instance.GetCached<Material>("Assets/ResourcesOut/BuiltIn/Materials/SpriteGray.mat");
}
public static Material GetInstantiatedSpriteGrayMaterial()
@@ -18,12 +22,12 @@
public static Material GetSmoothMaskGrayMaterial()
{
- return ResManager.Instance.LoadAsset<Material>("BuiltIn/Materials", "SmoothMaskGray");
+ return ResourceCacheManager.Instance.GetCached<Material>("Assets/ResourcesOut/BuiltIn/Materials/SmoothMaskGray.mat");
}
public static Material GetInstantiatedSpriteTwinkleMaterial()
{
- var material = ResManager.Instance.LoadAsset<Material>("BuiltIn/Materials", "Flash");
+ var material = ResourceCacheManager.Instance.GetCached<Material>("Assets/ResourcesOut/BuiltIn/Materials/Flash.mat");
return new Material(material);
}
@@ -34,7 +38,32 @@
public static Material GetGUIRenderTextureMaterial()
{
- return ResManager.Instance.LoadAsset<Material>("BuiltIn/Materials", "UI_RenderTexture");
+ return ResourceCacheManager.Instance.GetCached<Material>("Assets/ResourcesOut/BuiltIn/Materials/UI_RenderTexture.mat");
+ }
+
+ // ====================================================================
+ // US2: Async variants 鈥� temporary API. Replaced by preload+cache in T044.
+ // ====================================================================
+
+ public static UniTask<Material> GetDefaultSpriteGrayMaterialAsync()
+ {
+ return ResManager.Instance.LoadAssetAsync<Material>("BuiltIn/Materials", "SpriteGray");
+ }
+
+ public static UniTask<Material> GetSmoothMaskGrayMaterialAsync()
+ {
+ return ResManager.Instance.LoadAssetAsync<Material>("BuiltIn/Materials", "SmoothMaskGray");
+ }
+
+ public static async UniTask<Material> GetInstantiatedSpriteTwinkleMaterialAsync()
+ {
+ var material = await ResManager.Instance.LoadAssetAsync<Material>("BuiltIn/Materials", "Flash");
+ return new Material(material);
+ }
+
+ public static UniTask<Material> GetGUIRenderTextureMaterialAsync()
+ {
+ return ResManager.Instance.LoadAssetAsync<Material>("BuiltIn/Materials", "UI_RenderTexture");
}
public static void SetRenderSortingOrder(this GameObject root, int sortingOrder, bool includeChildren)
--
Gitblit v1.8.0