Пример #1
0
    public void OnClick(Transform trans)
    {
        if (newKeyBeingSet)
        {
            return;
        }
        if (menuState == MenuState.Main)
        {
            switch (trans.name)
            {
            case "Option1":
                Audio.VolumeFade("MainMenuMusic", 1f, 0f, 1.5f, false, true);
                SceneManager.LoadScene("Game");
                break;

            case "Option2":
                Debug.Log("Load Game");
                break;

            case "Option3":
                SwitchMenuState(MenuState.Settings, 4);
                break;

            case "Option4":
                Application.Quit();
                break;
            }
        }
        else if (menuState == MenuState.Settings)
        {
            switch (trans.name)
            {
            case "Option1":
                SwitchMenuState(MenuState.ControlSettings, keys.Count + 1);
                break;

            case "Option2":
                SwitchMenuState(MenuState.VideoSettings, 4);
                break;

            case "Option3":
                SwitchMenuState(MenuState.AudioSettings, 5);
                break;

            case "Option4":
                SwitchMenuState(MenuState.Main, 4);
                break;
            }
        }
        else if (menuState == MenuState.VideoSettings)
        {
            switch (trans.name)
            {
            case "Option1":
                SwitchMenuState(MenuState.Resolutions, resolutions.Length + 1);
                break;

            case "Option2":
                SwitchMenuState(MenuState.LightingQuality, 5);
                break;

            case "Option3":
                GameSettings.ChangeFullScreen();
                SwitchMenuState(MenuState.VideoSettings, 4);
                break;

            case "Option4":
                SwitchMenuState(MenuState.Settings, 4);
                break;
            }
        }
        else if (menuState == MenuState.Resolutions)
        {
            int index = trans.GetSiblingIndex();
            if (index == resolutions.Length)
            {
                SwitchMenuState(MenuState.VideoSettings, 4);
            }
            else
            {
                GameSettings.ApplyResolution(resolutions[index].width, resolutions[index].height);
                SwitchMenuState(MenuState.VideoSettings, 4);
            }
        }
        else if (menuState == MenuState.LightingQuality)
        {
            int index = trans.GetSiblingIndex();
            if (index == 4)
            {
                SwitchMenuState(MenuState.VideoSettings, 4);
            }
            else
            {
                GameSettings.ApplyLighting(index);
                SwitchMenuState(MenuState.VideoSettings, 4);
            }
        }
        else if (menuState == MenuState.ControlSettings)
        {
            int index = trans.GetSiblingIndex();
            if (index == keys.Count)
            {
                SwitchMenuState(MenuState.Settings, 4);
            }
            else
            {
                currentKeyBeingSet = index;
                newKeyBeingSet     = true;
                currentConfirmKey  = Instantiate(confirmKey, transform.parent.parent);
                currentConfirmKey.GetComponentInChildren <TextMeshProUGUI>().text = $"select a new key for {TextColor.Yellow}{keyFields[index].Name}";
                currentConfirmKeyWarning = currentConfirmKey.transform.Find("Warning").gameObject;
            }
        }
        else if (menuState == MenuState.AudioSettings)
        {
            int index = trans.GetSiblingIndex();
            if (index == 4)
            {
                SwitchMenuState(MenuState.Settings, 4);
            }
        }
    }