// Update is called once per frame void Update() { RaycastHit hit; RaycastHit FHit; if (Physics.Raycast(rayHolder.transform.position, Vector3.down, out hit, 1f)) { //print("Found an under object - distance: " + hit.distance + " /// " + hit.collider.gameObject.name + " /// " + hit.collider.gameObject.GetComponent<Renderer>().material); //print("Under " + hit.collider.gameObject.name + " /// " + hit.collider.gameObject.GetComponent<Renderer>().material); } if (Physics.Raycast(rayHolder.transform.position, Vector3.forward, out FHit, distance)) { //print("Found an forward object - distance: " + FHit.distance + " /// " + FHit.collider.gameObject.name + " /// " + FHit.collider.gameObject.GetComponent<Renderer>().material); //print("Foward " + FHit.collider.gameObject.name + " /// " + FHit.collider.gameObject.GetComponent<Renderer>().material); } foorMat = hit.collider.gameObject.GetComponent <Renderer>().material.name; //// -------------------------------------------------------Creates a lazer that outlines the raycast ////init ray to save the start and direction values //Ray ray = new Ray(rayHolder.transform.position, rayHolder.transform.forward); ////varible to hold the detection info //RaycastHit hit; ////the end Pos which defaults to the startPos + distance //Vector3 endPos = rayHolder.transform.position + (distance * rayHolder.transform.forward); //if (Physics.Raycast(ray, out hit, distance)) //{ // //if we detect something // endPos = hit.point; // print("Foward " + hit.collider.gameObject.name + " /// " + hit.collider.gameObject.GetComponent<Renderer>().material); //} //// 2 is the duration the line is drawn, afterwards its deleted //Debug.DrawLine(rayHolder.transform.position, endPos, Color.green, 2); switch (foorMat) { case "yellow_colour (Instance)": if (SceneManager.GetActiveScene().name == "Testing1") { SceneManager.LoadScene("Level_Test"); } else if (SceneManager.GetActiveScene().name == "Level_Test") { SceneManager.LoadScene("Level_1"); } else if (SceneManager.GetActiveScene().name == "Level_1") { SceneManager.LoadScene("Level_2"); } else if (SceneManager.GetActiveScene().name == "Level_2") { SceneManager.LoadScene("Level_3"); } else if (SceneManager.GetActiveScene().name == "Level_3") { SceneManager.LoadScene("Level_4"); } else if (SceneManager.GetActiveScene().name == "Level_4") { SceneManager.LoadScene("EndScene"); } break; case "darkRed_colour (Instance)": //yield return new WaitForSeconds(2); int scene = SceneManager.GetActiveScene().buildIndex; SceneManager.LoadScene(scene); break; case "red_colour (Instance)": //yield return new WaitForSeconds(2); int scene2 = SceneManager.GetActiveScene().buildIndex; SceneManager.LoadScene(scene2); break; case "orange_colour (Instance)": FPSController control = GetComponent <FPSController>(); control.Bounce(); break; } }