using UnityEngine;
|
using System;
|
|
|
public static class MaterialUtility
|
{
|
|
public static Material GetDefaultSpriteGrayMaterial()
|
{
|
return ResManager.Instance.LoadAsset<Material>("Materials", "SpriteGray");
|
}
|
|
public static Material GetInstantiatedSpriteGrayMaterial()
|
{
|
var material = new Material(GetDefaultSpriteGrayMaterial());
|
return material;
|
}
|
|
public static Material GetSmoothMaskGrayMaterial()
|
{
|
return ResManager.Instance.LoadAsset<Material>("Materials", "SmoothMaskGray");
|
}
|
|
public static Material GetInstantiatedSpriteTwinkleMaterial()
|
{
|
var material = ResManager.Instance.LoadAsset<Material>("Materials", "Flash");
|
return new Material(material);
|
}
|
|
public static Material GetUIDefaultGraphicMaterial()
|
{
|
return UnityEngine.UI.Image.defaultGraphicMaterial;
|
}
|
|
public static Material GetGUIRenderTextureMaterial()
|
{
|
return ResManager.Instance.LoadAsset<Material>("Materials", "UI_RenderTexture");
|
}
|
|
public static void SetRenderSortingOrder(this GameObject root, int sortingOrder, bool includeChildren)
|
{
|
|
if (root == null)
|
{
|
throw new NullReferenceException();
|
}
|
|
if (includeChildren)
|
{
|
var renderers = root.GetComponentsInChildren<Renderer>();
|
for (var i = 0; i < renderers.Length; i++)
|
{
|
var renderer = renderers[i];
|
renderer.sortingOrder = sortingOrder;
|
}
|
}
|
else
|
{
|
var renderer = root.GetComponent<Renderer>();
|
if (renderer != null)
|
{
|
renderer.sortingOrder = sortingOrder;
|
}
|
}
|
}
|
|
|
|
}
|