Files
Cielonos/Assets/OtherPlugins/Sprite Shaders Ultimate/Scripts/MaterialInstancerSSU.cs
2025-12-22 18:36:29 -05:00

35 lines
1.0 KiB
C#

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