35 lines
1.0 KiB
C#
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];
|
|
}
|
|
}
|
|
}
|
|
}
|