public void BlockActivity()
    {
        if (instantiateTowers != null)
        {
            foreach (GameObject g in instantiateTowers.tileList)
            {
                fractalGeneration = g.GetComponentInChildren <FractalGeneration>();
                if (fractalGeneration != null)
                {
                    slider.maxValue = (instantiateTowers.tileList.Count - fractalGeneration.trackOfBlocks.Count) / 3.5f;
                }
                float minSliderValue = 0;
                slider.minValue = minSliderValue;
                int listLength = g.GetComponent <BuildingGenerator>().instantiatedBlocks.Count;

                for (int i = 0; i < listLength; i++)
                {
                    if (i > slider.value)
                    {
                        g.GetComponent <BuildingGenerator>().instantiatedBlocks[i].SetActive(false);
                    }
                    if (i < slider.value)
                    {
                        g.GetComponent <BuildingGenerator>().instantiatedBlocks[i].SetActive(true);
                    }
                }
            }
        }
    }
 public void OnCollisionEnter(Collision collision)
 {
     if (!ToggleControl.rotateIndividually && !ButtonControl.rotateLeft && !ButtonControl.rotateRight)
     {
         fractalGeneration = gameObject.GetComponentInParent <FractalGeneration>();
         if (collision.gameObject.tag == "PrimaryBlock" && this.gameObject != fractalGeneration.trackOfBlocks[0].gameObject)
         {
             this.gameObject.SetActive(false);
         }
     }
 }
 public void AddBlock()
 {
     fractalGeneration = gameObject.GetComponentInParent <FractalGeneration>();
     if (fractalGeneration.trackOfBlocks.Count <= fractalGeneration.maxListLimit)
     {
         addedBlock = Instantiate(fractalGeneration.buildingBlocks[Random.Range(0, fractalGeneration.buildingBlocks.Count)], this.transform.position + transform.TransformDirection(RandomDirection) * distance, Quaternion.identity);
         this.gameObject.GetComponent <MeshRenderer>().material.color = Random.ColorHSV(0f, 1f, 1f, 1f, 0.5f, 1f); // HSV = shade and intensity values
         addedBlock.transform.parent = this.gameObject.transform.parent;
         fractalGeneration.trackOfBlocks.Add(addedBlock);
     }
     else
     {
         return;
     }
 }
 // Start is called before the first frame update
 void Start()
 {
     fractalGeneration = gameObject.GetComponentInParent <FractalGeneration>();
     AddBlock();
 }