private void FixedUpdate() { // --------------------------------------------------------------------------------------------------------------------- // RayCast from palm position if (listener.rInView) { float shaving = 0.5f; Vector3 rayMod = new Vector3(0, 0.2f, -0.5f); Vector3 rayDir = new Vector3(listener.GetArmDir().x *shaving, listener.GetArmDir().y, listener.GetArmDir().z * -1.0f); Ray r = new Ray(leapController.transform.position + rayMod, rayDir * 300.0f); Debug.DrawRay(leapController.transform.position + rayMod, rayDir * 300.0f); RaycastHit hit; if (Physics.Raycast(r, out hit)) { if (currentGameState == gameState.FULL_BODY_VIEW && hit.collider.tag == "zoom-zone") { Debug.Log("HIT"); if (listener.selectionGestureDetected) { selected = hit.collider.gameObject; } } /* * if (currentGameState != gameState.FULL_BODY_VIEW && (hit.collider.name == "Diag.Orb(Clone)" || * hit.collider.name == "Sym.Orb(Clone)" || hit.collider.name == "Op.Orb(Clone)")) * { * Debug.Log("askdjflkjwef"); * } */ if (currentGameState != gameState.FULL_BODY_VIEW && hit.collider.tag == "orb") { if (listener.selectionGestureDetected) { selected = hit.collider.gameObject; Debug.Log(selected); } } } } if (selected != null) { if (currentGameState != gameState.FULL_BODY_VIEW && selected.tag == "orb") { gController.textToWrite = selected.GetComponent <MedicalOrb>().GetMedicalEvent().GetInfo(); } // ONLY HAPPENS if in full body view. There is no summoning otherwise if (listener.rInView && currentGameState == gameState.FULL_BODY_VIEW) { Debug.Log("Selected an object!!!!!!!!!!!!!!!!!"); if (listener.summonGestureDetected) { // CALL CHRISTIAN FUNC switch (selected.name) { case "HeadCollider": { currentGameState = gameState.HEAD_NECK_VIEW; Debug.Log("changed game state"); if (selected.tag != "orb") { selected = null; } break; } case "TorsoCollider": { currentGameState = gameState.TORSO_VIEW; Debug.Log("changed game state"); if (selected.tag != "orb") { selected = null; } break; } case "RightArmCollider": { currentGameState = gameState.RIGHT_ARM_VIEW; Debug.Log("changed game state"); if (selected.tag != "orb") { selected = null; } break; } case "LeftArmCollider": { currentGameState = gameState.LEFT_ARM_VIEW; Debug.Log("changed game state"); if (selected.tag != "orb") { selected = null; } break; } case "LeftLegCollider": { currentGameState = gameState.LEFT_LEG_VIEW; Debug.Log("changed game state"); if (selected.tag != "orb") { selected = null; } break; } case "RightLegCollider": { currentGameState = gameState.RIGHT_LEG_VIEW; Debug.Log("changed game state"); if (selected.tag != "orb") { selected = null; } break; } } } } } }