Пример #1
0
    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);
        }
    }
Пример #2
0
    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();
    }