예제 #1
0
 /// <summary>
 /// Goes back depending active gameobject.
 /// </summary>
 private void GoBack()
 {
     if (MainMenu.activeInHierarchy)
     {
     }
     else if (PlayObject.activeInHierarchy)
     {
         if (gamepad.GetButtonDown("B"))
         {
             PlayObject.SetActive(false);
             MainMenu.SetActive(true);
             GamemodeButton.Select();
         }
     }
     else if (HighScore.activeInHierarchy)
     {
         if (gamepad.GetButtonDown("B"))
         {
             HighScore.SetActive(false);
             MainMenu.SetActive(true);
             LeaderboardButton.Select();
         }
     }
     else if (Settings.activeInHierarchy)
     {
         if (gamepad.GetButtonDown("B"))
         {
             Settings.SetActive(false);
             MainMenu.SetActive(true);
             SettingsButton.Select();
         }
     }
 }
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    private void TogglePause()
    {
        if (GameManager.Instance.PauseWidget.transform.gameObject.activeInHierarchy)
        {
            if (_Gamepad.GetButtonDown("start"))
            {
                GameManager.Instance.PauseWidget.gameObject.SetActive(false);
            }
        }
        else
        {
            if (_Gamepad.GetButtonDown("start"))
            {
                GameManager.Instance.PauseWidget.gameObject.SetActive(true);
            }
        }
    }
예제 #3
0
    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    /// <summary>
    /// Switches between menu states.
    /// </summary>
    private void NavigateMenu()
    {
        if (MainMenu.AreaState == SceneAreaState.ACTIVE)
        {
            MainMenu.WholeAreaObject.SetActive(true);
        }
        else
        {
            MainMenu.WholeAreaObject.SetActive(false);
        }

        if (SettingsMenu.AreaState == SceneAreaState.ACTIVE)
        {
            SettingsMenu.WholeAreaObject.SetActive(true);
            if ((gamepad.GetButtonDown("B") || Input.GetKeyDown(KeyCode.Escape)) && !gameObject.GetComponent <SettingsMenuNavigator>().SchemeWrapper.activeInHierarchy)
            {
                SettingsMenu.AreaState = SceneAreaState.INACTIVE;
                MainMenu.AreaState     = SceneAreaState.ACTIVE;
                if (MainMenu.StartButton != null)
                {
                    StartCoroutine(DelayedSelectButton(MainMenu.StartButton));
                }
            }
        }
        else
        {
            SettingsMenu.WholeAreaObject.SetActive(false);
        }

        if (LeaderboardMenu.AreaState == SceneAreaState.ACTIVE)
        {
            LeaderboardMenu.WholeAreaObject.SetActive(true);
            if ((gamepad.GetButtonDown("B") || Input.GetKeyDown(KeyCode.Escape)))
            {
                LeaderboardMenu.AreaState = SceneAreaState.INACTIVE;
                MainMenu.AreaState        = SceneAreaState.ACTIVE;
                if (MainMenu.StartButton != null)
                {
                    StartCoroutine(DelayedSelectButton(MainMenu.StartButton));
                }
            }
        }
        else
        {
            LeaderboardMenu.WholeAreaObject.SetActive(false);
        }

        if (PlayMenu.AreaState == SceneAreaState.ACTIVE)
        {
            PlayMenu.WholeAreaObject.SetActive(true);
            if ((gamepad.GetButtonDown("B") || Input.GetKeyDown(KeyCode.Escape)))
            {
                if (LevelUIObject.activeInHierarchy)
                {
                    LevelUIObject.SetActive(false);
                    StartCoroutine(DelayedSelectButton(PlayMenu.StartButton));
                    OverviewObject.SetActive(true);
                }
                else if (DifficultyUIObject.activeInHierarchy)
                {
                    DifficultyUIObject.SetActive(false);
                    StartCoroutine(DelayedSelectButton(PlayMenu.StartButton));
                    OverviewObject.SetActive(true);
                }
                else if (FactionUIObject.activeInHierarchy)
                {
                    FactionUIObject.SetActive(false);
                    StartCoroutine(DelayedSelectButton(PlayMenu.StartButton));
                    OverviewObject.SetActive(true);
                }
                else
                {
                    PlayMenu.AreaState = SceneAreaState.INACTIVE;
                    MainMenu.AreaState = SceneAreaState.ACTIVE;
                    if (MainMenu.StartButton != null)
                    {
                        StartCoroutine(DelayedSelectButton(MainMenu.StartButton));
                    }
                }
            }
        }
        else
        {
            PlayMenu.WholeAreaObject.SetActive(false);
        }

        if (CreditsMenu.AreaState == SceneAreaState.ACTIVE)
        {
            CreditsMenu.WholeAreaObject.SetActive(true);
            if ((gamepad.GetButtonDown("B") || Input.GetKeyDown(KeyCode.Escape)))
            {
                MainMenu.AreaState    = SceneAreaState.ACTIVE;
                CreditsMenu.AreaState = SceneAreaState.INACTIVE;
                if (MainMenu.StartButton != null)
                {
                    StartCoroutine(DelayedSelectButton(MainMenu.StartButton));
                }
            }
        }
        else
        {
            CreditsMenu.WholeAreaObject.SetActive(false);
        }

        if (ShowcaseMenu.AreaState == SceneAreaState.ACTIVE)
        {
            ShowcaseMenu.WholeAreaObject.SetActive(true);
            if ((gamepad.GetButtonDown("B") || Input.GetKeyDown(KeyCode.Escape)))
            {
                MainMenu.AreaState     = SceneAreaState.ACTIVE;
                ShowcaseMenu.AreaState = SceneAreaState.INACTIVE;
                if (MainMenu.StartButton != null)
                {
                    StartCoroutine(DelayedSelectButton(MainMenu.StartButton));
                }
            }
        }
        else
        {
            ShowcaseMenu.WholeAreaObject.SetActive(false);
        }
    }
    /// <summary>
    ///  Do actions based on current active scene.
    /// </summary>
    private void SwitchSettings()
    {
        switch (CurrentSelection)
        {
        case "MenuType":
            if (gamepad.GetButtonDown("RB"))
            {
                if (_MenuType < MenuType.WINDOW)
                {
                    _MenuType++;
                }
                else
                {
                    _MenuType = 0;
                }
                PlayerPrefs.SetInt("MenuType", (int)_MenuType);
                UpdateTextAndApplySettings();
                PlayerPrefs.Save();
            }
            else if (gamepad.GetButtonDown("LB"))
            {
                if (_MenuType > MenuType.RADIAL)
                {
                    _MenuType--;
                }
                else
                {
                    _MenuType = MenuType.WINDOW;;
                }
                UpdateTextAndApplySettings();
                PlayerPrefs.SetInt("MenuType", (int)_MenuType);
                PlayerPrefs.Save();
            }
            break;

        case "WindowMode":
            if (gamepad.GetButtonDown("RB"))
            {
                if (_WindowMode < WindowMode.WINDOWED)
                {
                    _WindowMode++;
                }
                else
                {
                    _WindowMode = 0;
                }
                PlayerPrefs.SetInt("WindowMode", (int)_WindowMode);
                UpdateTextAndApplySettings();
                PlayerPrefs.Save();
            }
            else if (gamepad.GetButtonDown("LB"))
            {
                if (_WindowMode > WindowMode.FULLSCREEN)
                {
                    _WindowMode--;
                }
                else
                {
                    _WindowMode = WindowMode.WINDOWED;
                }
                PlayerPrefs.SetInt("WindowMode", (int)_WindowMode);
                UpdateTextAndApplySettings();
                PlayerPrefs.Save();
            }
            break;

        case "Resolution":
            if (gamepad.GetButtonDown("RB"))
            {
                PlayerPrefs.SetInt("Resolution", (int)_Resolution);
                PlayerPrefs.Save();
            }
            else if (gamepad.GetButtonDown("LB"))
            {
                PlayerPrefs.SetInt("Resolution", (int)_Resolution);
                PlayerPrefs.Save();
            }
            break;

        case "AspectRatio":
            if (gamepad.GetButtonDown("RB"))
            {
                if (_AspectRatio < AspectRatio.FIVE_FOUR)
                {
                    _AspectRatio++;
                }
                else
                {
                    _AspectRatio = AspectRatio.SIXTEEN_NINE;
                }
                PlayerPrefs.SetInt("AspectRatio", (int)_AspectRatio);
                UpdateTextAndApplySettings();
                PlayerPrefs.Save();
            }
            else if (gamepad.GetButtonDown("LB"))
            {
                if (_AspectRatio > AspectRatio.SIXTEEN_NINE)
                {
                    _AspectRatio--;
                }
                else
                {
                    _AspectRatio = AspectRatio.FIVE_FOUR;
                }
                PlayerPrefs.SetInt("AspectRatio", (int)_AspectRatio);
                UpdateTextAndApplySettings();
                PlayerPrefs.Save();
            }
            break;

        case "VSync":
            if (gamepad.GetButtonDown("RB"))
            {
                if (VSync == 0)
                {
                    VSync = 1;
                }
                else if (VSync == 1)
                {
                    VSync = 0;
                }
                PlayerPrefs.SetInt("VSync", VSync);
                UpdateTextAndApplySettings();
                PlayerPrefs.Save();
            }
            else if (gamepad.GetButtonDown("LB"))
            {
                if (VSync == 0)
                {
                    VSync = 1;
                }
                else if (VSync == 1)
                {
                    VSync = 0;
                }
                PlayerPrefs.SetInt("VSync", VSync);
                UpdateTextAndApplySettings();
                PlayerPrefs.Save();
            }
            break;

        case "TextureQuality":
            if (gamepad.GetButtonDown("RB"))
            {
                if (_TextureQuality < TextureQuality.ULTRA)
                {
                    _TextureQuality++;
                }
                else
                {
                    _TextureQuality = 0;
                }
                PlayerPrefs.SetInt("TextureQuality", (int)_TextureQuality);
                UpdateTextAndApplySettings();
                PlayerPrefs.Save();
            }
            else if (gamepad.GetButtonDown("LB"))
            {
                if (_TextureQuality > TextureQuality.VERY_LOW)
                {
                    _TextureQuality--;
                }
                else
                {
                    _TextureQuality = TextureQuality.ULTRA;
                }
                PlayerPrefs.SetInt("TextureQuality", (int)_TextureQuality);
                UpdateTextAndApplySettings();
                PlayerPrefs.Save();
            }
            break;

        case "MasterVolume":
            if (gamepad.GetButton("LB"))
            {
                if (MasterVolume > 0)
                {
                    MasterVolume--;
                }
                PlayerPrefs.SetFloat("MasterVolume", MasterVolume);
                UpdateTextAndApplySettings();
                PlayerPrefs.Save();
            }
            else if (gamepad.GetButton("RB"))
            {
                if (MasterVolume < 100)
                {
                    MasterVolume++;
                }
                PlayerPrefs.SetFloat("MasterVolume", MasterVolume);
                UpdateTextAndApplySettings();
                PlayerPrefs.Save();
            }
            break;

        case "MusicVolume":
            if (gamepad.GetButton("LB"))
            {
                if (MusicVolume > 0)
                {
                    MusicVolume--;
                }
                PlayerPrefs.SetFloat("MusicVolume", MusicVolume);
                UpdateTextAndApplySettings();
                PlayerPrefs.Save();
            }
            else if (gamepad.GetButton("RB"))
            {
                if (MusicVolume < 100)
                {
                    MusicVolume++;
                }
                PlayerPrefs.SetFloat("MusicVolume", MusicVolume);
                UpdateTextAndApplySettings();
                PlayerPrefs.Save();
            }
            break;

        case "SFXVolume":
            if (gamepad.GetButton("LB"))
            {
                if (EffectsVolume > 0)
                {
                    EffectsVolume--;
                }

                PlayerPrefs.SetFloat("SFXVolume", EffectsVolume);
                UpdateTextAndApplySettings();
                PlayerPrefs.Save();
            }
            else if (gamepad.GetButton("RB"))
            {
                if (EffectsVolume < 100)
                {
                    EffectsVolume++;
                }

                PlayerPrefs.SetFloat("SFXVolume", EffectsVolume);
                UpdateTextAndApplySettings();
                PlayerPrefs.Save();
            }
            break;

        default:
            break;
        }
    }
예제 #5
0
    /// <summary>
    ///  Do actions based on current active scene.
    /// </summary>
    private void SwitchSettings()
    {
        switch (CurrentSelection)
        {
        case "MenuType":
            if (InputChecker.CurrentController == "Controller")
            {
                if (gamepad.GetButtonDown("RB"))
                {
                    if (_MenuType < MenuType.WINDOW)
                    {
                        _MenuType++;
                    }
                    else
                    {
                        _MenuType = 0;
                    }
                    PlayerPrefs.SetInt("MenuType", (int)_MenuType);
                    UpdateTextAndApplySettings();
                    PlayerPrefs.Save();
                }
                else if (gamepad.GetButtonDown("LB"))
                {
                    if (_MenuType > MenuType.RADIAL)
                    {
                        _MenuType--;
                    }
                    else
                    {
                        _MenuType = MenuType.WINDOW;;
                    }
                    UpdateTextAndApplySettings();
                    PlayerPrefs.SetInt("MenuType", (int)_MenuType);
                    PlayerPrefs.Save();
                }
            }
            break;

        case "WindowMode":
            if (InputChecker.CurrentController == "Controller")
            {
                if (gamepad.GetButtonDown("RB"))
                {
                    if (_WindowMode < WindowMode.WINDOWED)
                    {
                        _WindowMode++;
                    }
                    else
                    {
                        _WindowMode = 0;
                    }
                    PlayerPrefs.SetInt("WindowMode", (int)_WindowMode);
                    UpdateTextAndApplySettings();
                    PlayerPrefs.Save();
                }
                else if (gamepad.GetButtonDown("LB"))
                {
                    if (_WindowMode > WindowMode.FULLSCREEN)
                    {
                        _WindowMode--;
                    }
                    else
                    {
                        _WindowMode = WindowMode.WINDOWED;
                    }
                    PlayerPrefs.SetInt("WindowMode", (int)_WindowMode);
                    UpdateTextAndApplySettings();
                    PlayerPrefs.Save();
                }
            }
            break;

        case "Resolution":
            if (InputChecker.CurrentController == "Controller")
            {
                if (gamepad.GetButtonDown("RB"))
                {
                    if (_Resolution < Resolution.THIRTY_EIGHT_FOURTY_BY_TWENTY_ONE_SIXTY)
                    {
                        _Resolution++;
                    }
                    else
                    {
                        _Resolution = 0;
                    }
                    PlayerPrefs.SetInt("Resolution", (int)_Resolution);
                    PlayerPrefs.Save();
                }
                else if (gamepad.GetButtonDown("LB"))
                {
                    if (_Resolution > Resolution.NINETEEN_TWENTY_BY_TEN_EIGHTY)
                    {
                        _Resolution--;
                    }
                    else
                    {
                        _Resolution = Resolution.THIRTY_EIGHT_FOURTY_BY_TWENTY_ONE_SIXTY;
                    }
                    PlayerPrefs.SetInt("Resolution", (int)_Resolution);
                    PlayerPrefs.Save();
                }
            }
            break;

        case "AspectRatio":
            if (InputChecker.CurrentController == "Controller")
            {
                if (gamepad.GetButtonDown("RB"))
                {
                    if (_AspectRatio < AspectRatio.FIVE_FOUR)
                    {
                        _AspectRatio++;
                    }
                    else
                    {
                        _AspectRatio = AspectRatio.SIXTEEN_NINE;
                    }
                    PlayerPrefs.SetInt("AspectRatio", (int)_AspectRatio);
                    UpdateTextAndApplySettings();
                    PlayerPrefs.Save();
                }
                else if (gamepad.GetButtonDown("LB"))
                {
                    if (_AspectRatio > AspectRatio.SIXTEEN_NINE)
                    {
                        _AspectRatio--;
                    }
                    else
                    {
                        _AspectRatio = AspectRatio.FIVE_FOUR;
                    }
                    PlayerPrefs.SetInt("AspectRatio", (int)_AspectRatio);
                    UpdateTextAndApplySettings();
                    PlayerPrefs.Save();
                }
            }
            break;

        case "VSync":
            if (InputChecker.CurrentController == "Controller")
            {
                if (gamepad.GetButtonDown("RB"))
                {
                    if (VSync == 0)
                    {
                        VSync = 1;
                    }
                    else if (VSync == 1)
                    {
                        VSync = 0;
                    }
                    PlayerPrefs.SetInt("VSync", VSync);
                    UpdateTextAndApplySettings();
                    PlayerPrefs.Save();
                }
                else if (gamepad.GetButtonDown("LB"))
                {
                    if (VSync == 0)
                    {
                        VSync = 1;
                    }
                    else if (VSync == 1)
                    {
                        VSync = 0;
                    }
                    PlayerPrefs.SetInt("VSync", VSync);
                    UpdateTextAndApplySettings();
                    PlayerPrefs.Save();
                }
            }
            break;

        case "TextureQuality":
            if (InputChecker.CurrentController == "Controller")
            {
                if (gamepad.GetButtonDown("RB"))
                {
                    if (_TextureQuality < TextureQuality.HIGH)
                    {
                        _TextureQuality++;
                    }
                    else
                    {
                        _TextureQuality = 0;
                    }
                    PlayerPrefs.SetInt("TextureQuality", (int)_TextureQuality);
                    UpdateTextAndApplySettings();
                    PlayerPrefs.Save();
                }
                else if (gamepad.GetButtonDown("LB"))
                {
                    if (_TextureQuality > TextureQuality.LOW)
                    {
                        _TextureQuality--;
                    }
                    else
                    {
                        _TextureQuality = TextureQuality.HIGH;
                    }
                    PlayerPrefs.SetInt("TextureQuality", (int)_TextureQuality);
                    UpdateTextAndApplySettings();
                    PlayerPrefs.Save();
                }
            }
            break;

        case "MasterVolume":
            if (InputChecker.CurrentController == "Controller")
            {
                if (gamepad.GetButton("LB"))
                {
                    if (MasterVolume > 0)
                    {
                        MasterVolume--;
                    }
                    PlayerPrefs.SetFloat("MasterVolume", MasterVolume);
                    UpdateTextAndApplySettings();
                    PlayerPrefs.Save();
                }
                else if (gamepad.GetButton("RB"))
                {
                    if (MasterVolume < 100)
                    {
                        MasterVolume++;
                    }
                    PlayerPrefs.SetFloat("MasterVolume", MasterVolume);
                    UpdateTextAndApplySettings();
                    PlayerPrefs.Save();
                }
            }
            break;

        case "MusicVolume":
            if (InputChecker.CurrentController == "Controller")
            {
                if (gamepad.GetButton("LB"))
                {
                    if (MusicVolume > 0)
                    {
                        MusicVolume--;
                    }
                    PlayerPrefs.SetFloat("MusicVolume", MusicVolume);
                    UpdateTextAndApplySettings();
                    PlayerPrefs.Save();
                }
                else if (gamepad.GetButton("RB"))
                {
                    if (MusicVolume < 100)
                    {
                        MusicVolume++;
                    }
                    PlayerPrefs.SetFloat("MusicVolume", MusicVolume);
                    UpdateTextAndApplySettings();
                    PlayerPrefs.Save();
                }
            }

            break;

        case "SFXVolume":
            if (InputChecker.CurrentController == "Controller")
            {
                if (gamepad.GetButton("LB"))
                {
                    if (EffectsVolume > 0)
                    {
                        EffectsVolume--;
                    }

                    PlayerPrefs.SetFloat("SFXVolume", EffectsVolume);
                    UpdateTextAndApplySettings();
                    PlayerPrefs.Save();
                }
                else if (gamepad.GetButton("RB"))
                {
                    if (EffectsVolume < 100)
                    {
                        EffectsVolume++;
                    }

                    PlayerPrefs.SetFloat("SFXVolume", EffectsVolume);
                    UpdateTextAndApplySettings();
                    PlayerPrefs.Save();
                }
            }

            break;

        case "VoiceVolume":
            if (InputChecker.CurrentController == "Controller")
            {
                if (gamepad.GetButton("LB"))
                {
                    if (VoiceVolume > 0)
                    {
                        VoiceVolume--;
                    }

                    PlayerPrefs.SetFloat("VoiceVolume", VoiceVolume);
                    UpdateTextAndApplySettings();
                    PlayerPrefs.Save();
                }
                else if (gamepad.GetButton("RB"))
                {
                    if (VoiceVolume < 100)
                    {
                        VoiceVolume++;
                    }

                    PlayerPrefs.SetFloat("VoiceVolume", VoiceVolume);
                    UpdateTextAndApplySettings();
                    PlayerPrefs.Save();
                }
            }
            break;

        default:
            break;
        }
    }