private void DropBlock() { if (IsLeavingeGrid(Vector3.down)) { mg.CheckLines(); Destroy(gameObject.GetComponent <PieceMovement>()); } transform.position -= new Vector3(0, 1, 0); if (IsLeavingeGrid(Vector3.down)) { foreach (var obj in child) { obj.parent = null; obj.position = new Vector3(Mathf.Round(obj.position.x), Mathf.Round(obj.position.y), Mathf.Round(obj.position.z)); obj.gameObject.layer = LayerMask.NameToLayer("Grid"); } mg.CheckLines(); Destroy(gameObject.GetComponent <PieceMovement>()); } }