private void TapUiReceived()
    {
        //For UI navigation
        GameObject tappedObj = gazeCursor.GetFocusedObject();

        if (tappedObj == null)
        {
            return;
        }

        if (tappedObj.CompareTag("UI"))
        {
            if (inMenu == -1)
            {
                if (tappedObj.name == "ExitButton")
                {
                    flowController.FinishGame();
                }
            }
            else if (inMenu == 0) //Main Menu
            {
                if (tappedObj.name == "StartButton")
                {
                    MoveToStartScreen();
                }
                else if (tappedObj.name == "SettingsButton")
                {
                    MoveToSettingsScreen();
                }
                else if (tappedObj.name == "AboutButton")
                {
                    MoveToAboutScreen();
                }
                else if (tappedObj.name == "LangButton")
                {
                    Debug.Log("LangButton pressed");
                    greekEnabled = !greekEnabled;
                    for (int i = 0; i < menuScreen.transform.childCount; i++)
                    {
                        child = menuScreen.transform.GetChild(i).gameObject;
                        if (child.name == "AboutButton")
                        {
                            child.GetComponentInChildren <TextMesh>().text = greekEnabled ? el_MenuAboutButton : en_MenuAboutButton;
                        }
                        else if (child.name == "SettingsButton")
                        {
                            child.GetComponentInChildren <TextMesh>().text = greekEnabled ? el_MenuSettingsButton : en_MenuSettingsButton;
                        }
                        else if (child.name == "StartButton")
                        {
                            child.GetComponentInChildren <TextMesh>().text = greekEnabled ? el_MenuStartButton : en_MenuStartButton;
                        }
                        else if (child.name == "LangButton")
                        {
                            child.GetComponentInChildren <TextMesh>().text = greekEnabled ? el_MenuLangButton : en_MenuLangButton;
                        }
                    }
                }
            }

            else if (inMenu == 1) //Setting Menu
            {
                if (tappedObj.name == "AudioFeedbackButton")
                {
                    audioFeedbackEnabled = (!audioFeedbackEnabled);
                    string status  = audioFeedbackEnabled ? "On" : "Off";
                    string newText = greekEnabled ? el_SettingsAudioButton : en_SettingsAudioButton;
                    tappedObj.GetComponentInChildren <TextMesh>().text = newText + ":\n" + status;
                }
                else if (tappedObj.name == "ClickerButton")
                {
                    clickerEnabled = !(clickerEnabled);
                    string status  = clickerEnabled ? "On" : "Off";
                    string newText = greekEnabled ? el_SettingsClickerButton : en_SettingsClickerButton;
                    tappedObj.GetComponentInChildren <TextMesh>().text = newText + ":\n" + status;
                }
                else if (tappedObj.name == "BackButton")
                {
                    ReturnToStartMenu();
                }
            }

            else if (inMenu == 2) // Start Menu
            {
                if (tappedObj.name == "PlayButton")
                {
                    //Prepare UI
                    UtilitiesScript.Instance.DisableObject(currentMenu);
                    //Ask user for turtorial
                    StartTurtorial(false);
                }
                else if (tappedObj.name == "RightHandButton")
                {
                    flowController.rightHandEnabled = (!flowController.rightHandEnabled);
                    string status  = flowController.rightHandEnabled ? (greekEnabled ? el_StartHandOn : "On") : (greekEnabled ? el_StartHandOff : "Off");
                    string newText = greekEnabled ? el_StartRightButton : en_StartRightButton;
                    tappedObj.GetComponentInChildren <TextMesh>().text = newText + ":\n" + status;
                }
                else if (tappedObj.name == "LeftHandButton")
                {
                    flowController.leftHandEnabled = (!flowController.leftHandEnabled);
                    string status  = flowController.rightHandEnabled ? (greekEnabled ? el_StartHandOn : "On") : (greekEnabled ? el_StartHandOff : "Off");
                    string newText = greekEnabled ? el_StartLeftButton : en_StartLeftButton;
                    tappedObj.GetComponentInChildren <TextMesh>().text = newText + ":\n" + status;
                }
                else if (tappedObj.name == "BackButton")
                {
                    ReturnToStartMenu();
                }
            }

            else if (inMenu == 3) // Results Menu
            {
                if (tappedObj.name == "BackButton")
                {
                    ReturnToStartMenu();
                }
            }

            else if (inMenu == 4) // About Menu
            {
                if (tappedObj.name == "BackButton")
                {
                    ReturnToStartMenu();
                }
            }

            else if (inMenu == 5) //  Ask Turtorial Menu
            {
                if (tappedObj.name == "SkipButton")
                {
                    UtilitiesScript.Instance.DisableObject(currentMenu);
                    InititateCalbration();
                }
                else if (tappedObj.name == "EnableButton")
                {
                    StartTurtorial(true);
                }
                else if (tappedObj.name == "ExitButton")
                {
                    ReturnToStartMenu();
                }
            }

            else if (inMenu == 6) //  Turtorial Scene
            {
                if (tappedObj.name == "SkipButton")
                {
                    ExitTurtorial();
                    InititateCalbration();
                }
                else if (tappedObj.name == "GateButton")
                {
                    if (turtorialController.turtorialStep == 1)
                    {
                        turtorialController.PrepareSecondTurtorial();
                        tappedObj.GetComponentInChildren <TextMesh>().text = greekEnabled ? el_TurtorialDisableGateButton : en_TurtorialDisableGateButton;
                    }
                    else if (turtorialController.turtorialStep == 2)
                    {
                        turtorialController.PrepareFirstTurtorial();
                        tappedObj.GetComponentInChildren <TextMesh>().text = greekEnabled ? el_TurtorialEnableGateButton : en_TurtorialEnableGateButton;
                    }
                }
                else if (tappedObj.name == "ExitButton")
                {
                    ExitTurtorial();
                    ReturnToStartMenu();
                }
                else if (tappedObj.name == "Video")
                {
                    UnityEngine.Video.VideoPlayer videoPlayer = tappedObj.GetComponent <UnityEngine.Video.VideoPlayer>();
                    if (videoPlayer == null)
                    {
                        return;
                    }

                    if (videoPlayer.isPlaying)
                    {
                        videoPlayer.Stop();
                    }
                    else
                    {
                        videoPlayer.Play();
                    }
                }
            }
        }
    }