private void UseMousePos(Vector3 inputPos) { //Needed to cast rays for collision detection in perspective mode Vector3 touchPosFar = new Vector3(inputPos.x, inputPos.y, Camera.main.farClipPlane); Vector3 touchPosNear = new Vector3(inputPos.x, inputPos.y, Camera.main.nearClipPlane); //Needed to cast rays for collision detection in perspective mode Vector3 touchPosF = Camera.main.ScreenToWorldPoint(touchPosFar); Vector3 touchPosN = Camera.main.ScreenToWorldPoint(touchPosNear); //User clicks on lever during play RaycastHit2D hit = Physics2D.Raycast(touchPosN, touchPosF - touchPosN); if (hit.collider != null) { Lever _lever = hit.collider.GetComponent <Lever>(); if (_lever != null) { _lever.LeverGetsClicked(); } } //User clicks on Credits button in start menu if (hit.collider != null && hit.collider.name == ("CreditsButton")) { StartScreenManager startScreen = transform.GetComponent <StartScreenManager>(); startScreen.CreditsClick(); } //User clicks on back button in credits if (hit.collider != null && hit.collider.name == ("BackButton")) { StartScreenManager startScreen = transform.GetComponent <StartScreenManager>(); startScreen.BackCreditsClick(); } //User clicks on play button in start menu if (hit.collider != null && hit.collider.name == ("StartGameButton")) { SceneSwitcher sceneSwitcher = transform.root.GetComponent <SceneSwitcher>(); sceneSwitcher.LoadNextScene(); } //User clicks on exit button in start menu if (hit.collider != null && hit.collider.name == ("ExitButton")) { SceneSwitcher sceneSwitcher = transform.root.GetComponent <SceneSwitcher>(); sceneSwitcher.ExitGame(); } }
public void ToExit() { _switcher.ExitGame(); }
public override void OnPointerClick(PointerEventData data) { // Call function based on object's name Debug.Log("OnPointerClick called.\n" + "Current object name: '" + this.name + "'\n"); // Get current scene name string scene = SceneManager.GetActiveScene().name; switch (this.name) { case "Start": changeScene.LoadMainMenu(); break; case "Exit": changeScene.ExitGame(); break; case "Quit": changeScene.LoadMainMenu(); break; case "Practice": changeScene.LoadPractice(); break; case "Zen": changeScene.LoadZen(); break; case "Continue": pauseOption.Resume(); break; case "Restart": changeScene.RestartLevel(scene); break; case "Settings": Debug.Log("No Option for object '" + this.name + "'.\n" + "Please add Option in ButtonTrigger.cs script."); break; case "Help": Debug.Log("No Option for object '" + this.name + "'.\n" + "Please add Option in ButtonTrigger.cs script."); break; case "PauseButton": pauseOption.Pause(); break; case "Arcade": changeScene.LoadTheme1Select(); break; case "NextLevel": if (scene == "1") { changeScene.Load_2_1(); } if (scene == "2") { Debug.Log("Please add changeScene function in ButtonTrigger.cs to change to level 3\n"); } break; case "Back": if (scene == "Theme1Select") { changeScene.LoadMainMenu(); } if (scene == "Theme2Select") { changeScene.LoadMainMenu(); } break; case "1-1 Image": changeScene.Load_1_1(); break; case "2-1 Image": changeScene.Load_2_1(); break; case "NextArrow": if (scene == "Theme1Select") { changeScene.LoadTheme2Select(); } if (scene == "Theme2Select") { Debug.Log("ButtonTrigger.cs\nMissing Load function"); } break; case "BackArrow": if (scene == "Theme2Select") { changeScene.LoadTheme1Select(); } break; default: Debug.Log("No option for this object. Please add option in ButtonTrigger.cs script.\n"); Debug.Log("Option should be added as a switch case statement."); break; } }