private void Update()
    {
        if (LobbyStateManager.Instance.State == LobbyStateManager.LobbyState.TitleScreen)
        {
            return;
        }

        GamePadState state = GamePad.GetState(_index);

        if (state.Pressed(CButton.A))
        {
            _playerSpawner.Spawn(_index, true);
        }
        if (state.Pressed(CButton.B))
        {
            _pressedBTime = Time.time;
            PlayerSelectUIManager.Instance.RemovePlayer(_index);
            _colorController.HideIcon(_index);
        }
        if (state.B && Time.time > _pressedBTime + _timeToHoldB)
        {
            if (!PlayerSelectUIManager.Instance.ReadyToStartMatch)
            {
                _playerSpawner.Despawn(_index, true);
            }
        }
        if (state.Back)
        {
            _blockSpawner.Reset();
            _playerSpawner.Reset();
            PlayerSelectUIManager.Instance.Reset();
            LobbyStateManager.Instance.ReturnToTitleScreen();
        }
        if (state.Pressed(CButton.Start))
        {
            if (PlayerSelectUIManager.Instance.ReadyToStartMatch)
            {
                PlayerSelectUIManager.Instance.StartMatch();
            }

            PlayerInfo player = ActivePlayers.Players.FirstOrDefault(p => p.ControllerNumber == (int)_index);
            if (player != null)
            {
                PlayerSelectUIManager.Instance.ReadyPlayer(_index);
                _colorController.ShowIcon(_index);
            }
        }

        CaptureKeyboardInput();
    }