/// <summary> /// Logic for when a raycast line collides with a collider and and the input button is pressed /// </summary> void RayCastInput() { RaycastHit hit; if (Physics.Raycast(this.transform.position, this.transform.forward, out hit, raycastDistance)) { Debug.Log(hit.transform.name); ResumePlayback resumePlayback = hit.transform.GetComponent <ResumePlayback>(); PausePlayback pausePlayback = hit.transform.GetComponent <PausePlayback>(); PlaylistScript playlistScript = hit.transform.GetComponent <PlaylistScript>(); LeftHandUI leftHandUI = hit.transform.GetComponent <LeftHandUI>(); if (hit.transform.gameObject.tag == "key") { Text text = hit.transform.gameObject.GetComponentInChildren <Text>(); keyboardManagerScript.GenerateInput(text.text); } if (resumePlayback != null) { resumePlayback.ResumePlaybackFunction(); } else if (leftHandUI != null) { leftHandUI.OnRayCastHit(); } else if (pausePlayback != null) { pausePlayback.PausePlaybackFunction(); } else if (playlistScript != null) { if (playOnClick) { playlistScript.PlaySomething(); } if (GameObject.FindWithTag("vinyl") != null) { Destroy(GameObject.FindWithTag("vinyl")); } if (GameObject.FindWithTag("followCube") != null) { Destroy(GameObject.FindWithTag("followCube")); } InstansiateVinylWorking(hit, playlistScript); Debug.Log("Spawning Vinyl"); } } }
void RayCast() { RaycastHit hit; if (Physics.Raycast(this.transform.position, this.transform.forward, out hit, raycastDistance)) { lineRenderer.SetPosition(1, hit.point); pointerImage.transform.position = hit.point; pointerImage.material.renderQueue = 4000; if (leftHandUIHit != null) { leftHandUIHit.OnHoverExit(); } //11 is hand UI layer if (hit.collider.gameObject.layer == 11) { pointerImage.transform.localScale = pointerUIScale; LeftHandUI leftHandUI = hit.transform.GetComponent <LeftHandUI>(); if (leftHandUI != null) { leftHandUIHit = leftHandUI; leftHandUI.OnHover(); } } //5 is UI layer else if (hit.collider.gameObject.layer == 5) { pointerImage.transform.localScale = pointerWorldScale; pointerImage.transform.position = hit.point - pointerWorldScaleZOffset; } else { pointerImage.transform.localScale = new Vector3(0f, 0f, 0f); } if (hit.transform.gameObject.tag == "song" || hit.transform.gameObject.tag == "playlist" || hit.transform.gameObject.tag == "artist") { GameObject playlistGameObject = hit.transform.gameObject; hoverUI.updateHoverUI(playlistGameObject.GetComponent <PlaylistScript>()); } else { hoverUI.updateHoverUI(); } } }