Files
MI-38/Heli_with_panels/Assets/Scripts/Panel3D/OverWriteMaterial.cs
2022-07-04 13:15:35 +03:00

37 lines
1.1 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class OverWriteMaterial
{
public static void RecordChildrenMaterials(Renderer[] renderers, ref List<Material> materials, ref List<Material> greenMaterials)
{
materials.Clear(); greenMaterials.Clear();
foreach (var renderer in renderers)
{
materials.Add(renderer.material);
Material greenMat = new Material(renderer.material);
greenMat.SetColor("_EmissionColor", new Color(9f / 255f, 82f / 255f, 4f / 255f));
greenMaterials.Add(greenMat);
}
}
public static void RestoreChildrenMaterials(Renderer[] renderers, List<Material> materials)
{
for (int i = 0; i < renderers.Length; i++)
{
renderers[i].material = materials[i];
}
}
public static void ReplaceMaterialsWithActive(Renderer[] renderers, List<Material> greenMaterials)
{
for (int i = 0; i < renderers.Length; i++)
{
renderers[i].material = greenMaterials[i];
}
}
}