Files
Continentis/Assets/OtherPlugins/Sprite Shaders Ultimate/Scripts/MaterialInstancerSSU.cs
SoulliesOfficial d09b58fd80 架构大更
2026-03-20 11:56:50 -04:00

29 lines
913 B
C#

using UnityEngine;
using UnityEngine.UI;
namespace SpriteShadersUltimate
{
[AddComponentMenu("Sprite Shaders Ultimate/Utility/Material Instancer SSU")]
public class MaterialInstancerSSU : InstancerSSU
{
private void Awake()
{
var graphic = GetComponent<Graphic>();
if (graphic != null)
{
graphic.material = Instantiate(graphic.material);
runtimeMaterial = graphic.materialForRendering;
}
var renderer = GetComponent<Renderer>();
if (renderer != null)
{
var materials = renderer.sharedMaterials;
for (var n = 0; n < materials.Length; n++) materials[n] = Instantiate(materials[n]);
renderer.materials = renderer.sharedMaterials = materials;
runtimeMaterial = materials[0];
}
}
}
}