IEnumerator CreateBlock() { while (true) { if (CreateBlockCount == 0) { break; } if (DropAnimaionCount == 0) { GameObject go = BlockPool.GetPool(); BlockHive hiveinfo = CreateBlockPosition[0].GetComponent <BlockHive>(); hiveinfo.SetBlockObject(go); hiveinfo.SetBlockType(Map.BLOCKTYPPE.BLOCK); hiveinfo.SetBlockColor((Map.BLOCKCOLOR)GetRandoomColor()); go.transform.parent = CreateBlockPosition[0].transform; go.transform.localPosition = Vector3.zero; go.SetActive(true); CreateBlockCount--; DropBlock(); while (true) { if (DropAnimaionCount == 0) { if (!WaterDrop()) { break; } } yield return(null); } MatchCheck(); if (CreateBlockCount <= 0) { break; } } yield return(null); } MoveDisAble = false; }