10 private Material[] cachedChildMaterials;
14 Renderer[] childRenderers = GetComponentsInChildren<Renderer>();
15 if (childRenderers != null && childRenderers.Length > 0)
17 cachedChildMaterials =
new Material[childRenderers.Length];
18 for (
int i = 0; i < childRenderers.Length; i++)
20 cachedChildMaterials[i] = childRenderers[i].material;
30 foreach (Material cachedChildMaterial
in cachedChildMaterials)
32 cachedChildMaterial.SetColor(
"_Color", Color.gray);
38 private void OnDestroy()
40 for (
int i = 0; i < cachedChildMaterials.Length; i++)
42 DestroyImmediate(cachedChildMaterials[i]);