| | |
| | | using 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() |
| | |
| | | |
| | | 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); |
| | | } |
| | | |
| | |
| | | |
| | | 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) |