void Start() { id = GetId(); prevGrabbed = false; BlockManager.AddActive(this); shadow.SetActive(false); cubeVFX = GetComponent <CubeVFX> (); cubePositions = new List <IntegerVector3> (); dimensions = new IntegerVector3(); foreach (BoxCollider cube in GetComponents <BoxCollider>()) { cubePositions.Add(new IntegerVector3(cube.center)); dimensions.x = Mathf.Max(dimensions.x, Mathf.RoundToInt(cube.center.x)); dimensions.y = Mathf.Max(dimensions.y, Mathf.RoundToInt(cube.center.y)); dimensions.z = Mathf.Max(dimensions.z, Mathf.RoundToInt(cube.center.z)); } for (int i = 0; i < transform.childCount; i++) { GameObject cube = transform.GetChild(i).gameObject; if (cube != shadow) { cubes.Add(cube); } } transform.SetPositionAndRotation(transform.position, Random.rotation); Snap(transform); }