using System.Collections; using System.Collections.Generic; using UnityEngine; public class OverWriteMaterial { public static void RecordChildrenMaterials(Renderer[] renderers, ref List materials, ref List 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 materials) { for (int i = 0; i < renderers.Length; i++) { renderers[i].material = materials[i]; } } public static void ReplaceMaterialsWithActive(Renderer[] renderers, List greenMaterials) { for (int i = 0; i < renderers.Length; i++) { renderers[i].material = greenMaterials[i]; } } }