public void AddBlock(float pixel) { block.Insert(0, pixel); GameObject timeBlock = Instantiate(panel) as GameObject; RectTransform rectTransform = timeBlock.GetComponent <RectTransform>(); rectTransform.sizeDelta = new Vector2(rectTransform.rect.width, pixel); timeBlock.GetComponent <Image>().color = new Color(Random.Range(0.4f, 1.0f), Random.Range(0.4f, 1.0f), Random.Range(0.4f, 1.0f)); timeBlock.transform.parent = GlobalManager.GetBlockSpace().transform; timeBlock.transform.SetSiblingIndex(0); }
IEnumerator Absorb() { var blockSpace = GlobalManager.GetBlockSpace().transform; while (true) { if (blockSpace.childCount != 0) { var lastIndex = blockSpace.childCount - 1; var rectTransform = blockSpace.GetChild(lastIndex).GetComponent <RectTransform>(); rectTransform.sizeDelta = new Vector2(rectTransform.rect.width, --block[lastIndex]); Debug.Log(block[lastIndex]); if (rectTransform.sizeDelta.y == 0) { block.Remove(lastIndex); Destroy(blockSpace.GetChild(lastIndex).gameObject); Debug.Log("Absorbed"); } } yield return(new WaitForSeconds(absorbSpeed)); } }