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(); }