Example #1
0
    private IEnumerator ListenInput_Coroutine()
    {
        // Skip the first frame as we're just triggering A input to start listening
        yield return(null);

        bool validInputReceived = false;

        while (!validInputReceived)
        {
            List <GameInput> gamepadInputList = GamePadManager.GetPlayerGamepadInput((int)m_Player);
            if (HasValidInput(gamepadInputList, out EInputKey validInput))
            {
                m_CurrentInputKey = validInput;
                StopListeningInput();
                yield break;
            }
            yield return(null);
        }
    }
Example #2
0
    public void ResetPlayerInputMapping(int playerIndex)
    {
        // Check if it's the correct player's trying to update input
        List <GameInput> gamepadInputList = GamePadManager.GetPlayerGamepadInput(playerIndex);

        if (gamepadInputList.Exists(x => x.GetInputKey() == EInputKey.A))
        {
            GamePadManager.ResetPlayerGamepadInputMapping(playerIndex);
            PlayerControlInfo playerControlInfo = playerIndex == 0 ? m_Player1ControlsMapping : m_Player2ControlsMapping;
            for (int i = 0; i < playerControlInfo.m_InputListeners.Length; i++)
            {
                playerControlInfo.m_InputListeners[i].ResetInputMapping();
            }
        }
        else
        {
            DisplayWrongPlayerFeedback();
        }
    }
Example #3
0
    public void StartListeningInput()
    {
        // Check if it's the correct player's trying to update input
        List <GameInput> gamepadInputList = GamePadManager.GetPlayerGamepadInput((int)m_Player);

        if (gamepadInputList.Exists(x => x.GetInputKey() == EInputKey.A))
        {
            m_IsListeningInput           = true;
            m_OldInputKey                = m_CurrentInputKey;
            m_CurrentEventSystem         = EventSystem.current;
            m_CurrentEventSystem.enabled = false;
            m_XboxImageInput.enabled     = false;
            m_PS4ImageInput.enabled      = false;
            m_PressAKeyText.enabled      = true;
            StartCoroutine(ListenInput_Coroutine());
        }
        else
        {
            m_ControlMenuComponent.DisplayWrongPlayerFeedback();
        }
    }