private void changeToSektorMaterial(Transform transformo, int sektorNumber) { if (transformo.childCount < 1) { return; } foreach (Transform child in transformo) { TreeSeasonBehaviour treebehaviour = child.gameObject.GetComponent <TreeSeasonBehaviour>(); if (treebehaviour) { changeTreeSeasonMaterialsToSektors(treebehaviour, sektorNumber); } Renderer r = child.gameObject.GetComponent <Renderer>(); if (r != null) { Material[] ms = r.materials; if (ms != null) { List <Material> newMaterials = new List <Material>(); foreach (Material material in ms) { string newMaterialname = "Sektor" + sektorNumber + "/" + material.name; Material newMaterial = (Material)Resources.Load(newMaterialname, typeof(Material)); if (newMaterial != null) { newMaterials.Add(newMaterial); } else { newMaterials.Add(material); } } child.gameObject.GetComponent <Renderer>().materials = newMaterials.ToArray(); } } if (child.childCount < 1) { continue; } changeToSektorMaterial(child, sektorNumber); } }
private void changeTreeSeasonMaterialsToSektors(TreeSeasonBehaviour treebehaviour, int sektorNumber) { Material[] seasonMaterials = treebehaviour.seasonMaterials; List <Material> newMaterials = new List <Material>(); foreach (Material material in seasonMaterials) { string newMaterialname = "Sektor" + sektorNumber + "/" + material.name; Material newMaterial = (Material)Resources.Load(newMaterialname, typeof(Material)); if (newMaterial != null) { newMaterials.Add(newMaterial); } else { newMaterials.Add(material); } } treebehaviour.seasonMaterials = newMaterials.ToArray(); }