void Update() { if (grabbed) { shadow.transform.SetPositionAndRotation(transform.position, transform.rotation); Snap(shadow.transform); } else if (!planting) { transform.position += BlockManager.BlockFallingSpeed(transform.position.y) * Time.deltaTime * Vector3.down; //if (BlockArea.IsOccupied (BlockArea.WorldSpaceToIndex (transform.position), cubePositions, transform.rotation)) { // Snap (transform); // Lay (); //} if (Snap(transform)) { Lay(); } } if (planting) { IntegerVector3 underIndex = BlockArea.WorldSpaceToIndex(transform.position) + new IntegerVector3(0, -1, 0); if (!BlockArea.IsOccupied(underIndex, cubePositions, transform.rotation, id)) { Unlay(); } } // Debug /*cubeVFX.ApplyColor(Color.blue); * if (delayedUngrabbed) { * cubeVFX.ApplyColor(Color.yellow); * } * if (grabbed) { * cubeVFX.ApplyColor(Color.red); * } * if (planting) { * cubeVFX.ApplyColor(Color.green); * }*/ }