Exemplo n.º 1
0
    private void Update()
    {
        const float buttonThreshold = 1f / 3f;

        ReInput.PlayerHelper playerHelper = ReInput.players;
        int playerCount = playerHelper.playerCount;

        for (int i = 0; i < playerCount; ++i)
        {
            Player player = playerHelper.GetPlayer(i);

            float hAxis = player.GetAxis("MoveHorizontal");
            if (hAxis < -buttonThreshold)
            {
                ChoosenLanguage.currentLanguage = Language.English;
                en.color = new Color(1f, 1f, 1f, 1f);
                fr.color = new Color(1f, 1f, 1f, 0.5f);
                instructionsEn.SetActive(true);
                instructionsFr.SetActive(false);
            }
            else
            if (hAxis > buttonThreshold)
            {
                ChoosenLanguage.currentLanguage = Language.French;
                en.color = new Color(1f, 1f, 1f, 0.5f);
                fr.color = new Color(1f, 1f, 1f, 1f);
                instructionsEn.SetActive(false);
                instructionsFr.SetActive(true);
            }
            else
            if (player.GetButtonDown("ChooseLanguage"))
            {
                switch (ChoosenLanguage.currentLanguage)
                {
                case Language.English:
                    SceneManager.LoadScene("intro_en", LoadSceneMode.Single);
                    break;

                case Language.French:
                    SceneManager.LoadScene("intro_fr", LoadSceneMode.Single);
                    break;

                default:
                    throw new ArgumentOutOfRangeException();
                }
            }
        }
    }
Exemplo n.º 2
0
    public void Update()
    {
        ReInput.PlayerHelper playerHelper = ReInput.players;
        int playerCount = playerHelper.playerCount;

        if (m_toCharacterSelectScreen)
        {
            const float buttonThreshold = 1f / 3f;

            for (int i = 0; i < playerCount; ++i)
            {
                Player player = playerHelper.GetPlayer(i);
                if (player.GetButtonDown("AddController"))
                {
                    if (m_controllerPlayerIndices[0] != i && m_controllerPlayerIndices[1] != i)
                    {
                        if (m_controllerPlayerIndices[0] < 0)
                        {
                            m_controllerPlayerIndices[0] = i;

                            player0.alpha = 1f;
                            player0Instructions.SetActive(false);
                        }
                        else
                        if (m_controllerPlayerIndices[1] < 0)
                        {
                            m_controllerPlayerIndices[1] = i;

                            player1.alpha = 1f;
                            player1Instructions.SetActive(false);
                        }
                    }
                }
                else
                if (player.GetButtonDown("RemoveController"))
                {
                    if (m_controllerPlayerIndices[0] == i)
                    {
                        m_controllerPlayerIndices[0] = -1;

                        player0.alpha = 0f;
                        player0Left.SetActive(false);
                        player0Middle.SetActive(true);
                        player0Right.SetActive(false);
                        player0Instructions.SetActive(true);

                        PlayerAssignation.Remove(i);
                    }
                    else
                    if (m_controllerPlayerIndices[1] == i)
                    {
                        m_controllerPlayerIndices[1] = -1;

                        player1.alpha = 0f;
                        player1Left.SetActive(false);
                        player1Middle.SetActive(true);
                        player1Right.SetActive(false);
                        player1Instructions.SetActive(true);

                        PlayerAssignation.Remove(i);
                    }
                }
                else
                if (player.GetButtonDown("StartGame"))
                {
                    if (PlayerAssignation.isValid)
                    {
                        SceneManager.LoadScene("main", LoadSceneMode.Single);
                    }
                }
                else
                {
                    if (m_controllerPlayerIndices[0] == i)
                    {
                        float hAxis = player.GetAxis("MoveHorizontal");
                        if (hAxis < -buttonThreshold)
                        {
                            if (!PlayerAssignation.playerSet[0])
                            {
                                PlayerAssignation.Set(0, i);

                                player0Left.SetActive(true);
                                player0Middle.SetActive(false);
                                player0Right.SetActive(false);
                            }
                            else if (PlayerAssignation.playerControllerIndices[0] != i)
                            {
                                PlayerAssignation.Remove(i);

                                player0Left.SetActive(false);
                                player0Middle.SetActive(true);
                                player0Right.SetActive(false);
                            }
                        }
                        else
                        if (hAxis > buttonThreshold)
                        {
                            if (!PlayerAssignation.playerSet[1])
                            {
                                PlayerAssignation.Set(1, i);

                                player0Left.SetActive(false);
                                player0Middle.SetActive(false);
                                player0Right.SetActive(true);
                            }
                            else
                            if (PlayerAssignation.playerControllerIndices[1] != i)
                            {
                                PlayerAssignation.Remove(i);

                                player0Left.SetActive(false);
                                player0Middle.SetActive(true);
                                player0Right.SetActive(false);
                            }
                        }
                    }
                    else
                    if (m_controllerPlayerIndices[1] == i)
                    {
                        float hAxis = player.GetAxis("MoveHorizontal");
                        if (hAxis < -buttonThreshold)
                        {
                            if (!PlayerAssignation.playerSet[0])
                            {
                                PlayerAssignation.Set(0, i);

                                player1Left.SetActive(true);
                                player1Middle.SetActive(false);
                                player1Right.SetActive(false);
                            }
                            else
                            if (PlayerAssignation.playerControllerIndices[0] != i)
                            {
                                PlayerAssignation.Remove(i);

                                player1Left.SetActive(false);
                                player1Middle.SetActive(true);
                                player1Right.SetActive(false);
                            }
                        }
                        else
                        if (hAxis > buttonThreshold)
                        {
                            if (!PlayerAssignation.playerSet[1])
                            {
                                PlayerAssignation.Set(1, i);

                                player1Left.SetActive(false);
                                player1Middle.SetActive(false);
                                player1Right.SetActive(true);
                            }
                            else
                            if (PlayerAssignation.playerControllerIndices[1] != i)
                            {
                                PlayerAssignation.Remove(i);

                                player1Left.SetActive(false);
                                player1Middle.SetActive(true);
                                player1Right.SetActive(false);
                            }
                        }
                    }
                }
            }

            pressStartToPlay.SetActive(PlayerAssignation.isValid);
        }
        else
        {
            for (int i = 0; i < playerCount; ++i)
            {
                Player player = playerHelper.GetPlayer(i);
                if (player.GetButtonDown("StartGame"))
                {
                    m_toCharacterSelectScreen = true;
                    StartCoroutine(GoToCharacterSelectScreen());
                    break;
                }
            }
        }
    }