private void Spawn() { block = Instantiate(blockPrefab, this.gameObject.transform.position, Quaternion.identity); block.transform.position = this.gameObject.transform.position; block.transform.localScale = new Vector3(block.transform.localScale.x /* blockWidth*/, block.transform.localScale.y, block.transform.localScale.z); // block.transform.SetParent (this.gameObject.transform); partitionableObject = block.GetComponent <PartitionableObject> (); partitionableObject.blockWidth = this.blockWidth; physics = block.GetComponent <PartitionablePhysicsObject> (); physics.enabled = false; blocks.Add(block); print(blocks.Count); while (blocks.Count > MAX_ACTIVE_BLOCKS) { if (blocks[0] != null) { Destroy(blocks[0].gameObject); } blocks.RemoveAt(0); } block.SetActive(true); }
void Update() { if (block == null && !isSpawning) { isSpawning = true; StartCoroutine(SpawnPlatform()); } else if (partitionableObject != null && partitionableObject.IsTangible()) { physics.enabled = true; // block.transform.parent = null; // this.gameObject.transform.DetachChildren (); partitionableObject = null; physics = null; block = null; } }