2025-08-28 20:17:38 +08:00

43 lines
1.5 KiB
C#

using Logic;
using TH1_Logic.Core;
using UnityEngine;
using UnityEngine.Rendering;
using UnityEngine.Rendering.Universal;
namespace TH1Resource
{
/// <summary>
/// 缓存所有 AnimationClip 的资源,避免多次 Resources.Load 调用。
/// 所有动画通过该类统一访问。
/// </summary>
public class MatCache
{
private bool _initialized = false;
// 提示气泡动画
public Material TH1URPShaders_Sprite_WhiteOverlay;
public Material TH1URPShaders_Sprite_Glow;
public Material TH1URPShaders_Default;
//渐变色彩底板
public Material GradientBG_Green;
public Material GradientBG_Blue;
public Material GradientBG_Red;
public void Init()
{
if (_initialized) return;
TH1URPShaders_Sprite_WhiteOverlay = Resources.Load<Material>("Materials/TH1URPShaders_Sprite_WhiteOverlay");
TH1URPShaders_Default = GameObject.Find("Main")?.GetComponent<Main>()?.URPDefaultMat;
TH1URPShaders_Sprite_Glow = Resources.Load<Material>("Materials/TH1URPShaders_Sprite_Glow");
GradientBG_Green = Resources.Load<Material>("Materials/GradientBG_Green");
GradientBG_Red = Resources.Load<Material>("Materials/GradientBG_Red");
GradientBG_Blue = Resources.Load<Material>("Materials/GradientBG_Blue");
_initialized = true;
}
}
}