private void DoEmptyHand() { RaycastHit pickupHit; Ray worldRay = new Ray(cam.transform.position, transform.position - cam.transform.position); if (Physics.Raycast(worldRay, out pickupHit, 100, objectLayer, QueryTriggerInteraction.Collide)) { // PICKUP OBJECT var moveObject = pickupHit.collider.GetComponentInParent <MoveableObject>(); if (Input.GetMouseButtonDown(0) && moveObject.canBePickedUp) { pickedObject = moveObject; pickedObject.PickupObject(m_Rigidbody); Vector3 pos = transform.position; pos.y = mouseHeight + pickedObject.mouseOffset; transform.position = pos; source.PlayOneShot(pickupSound); // SHOW SNAPS foreach (var item in snapPos) { if (item.objectType == pickedObject.objectType) { item.ShowSnap(); } } } // SHOW GLOW var glow = pickupHit.collider.GetComponentInParent <GlowingObject>(); if (moveObject.canBePickedUp && !glowRenderer.glowingObjects.Contains(glow)) { glowRenderer.glowingObjects.Add(glow); } } }