예제 #1
0
        private void AddPlayerButton_Executed(object arg)
        {
            ActivePlayerButtonCommand = _setPlayerButton;

            _lockPlayerButtonSync = true;

            try
            {
                if (Settings.UsePlayersKeys == PlayerKeysModes.Joystick || Settings.UsePlayersKeys == PlayerKeysModes.Com)
                {
                    _buttonManager             = PlatformManager.Instance.ButtonManagerFactory.Create(Settings);
                    _buttonManager.KeyPressed += OnPlayerKeyPressed;
                    if (!_buttonManager.Run())
                    {
                        ActivePlayerButtonCommand = _addPlayerButton;
                        _buttonManager.Dispose();
                        _buttonManager = null;
                    }
                }
            }
            finally
            {
                _lockPlayerButtonSync = false;
            }
        }
예제 #2
0
        internal bool OnPlayerKeyPressed(GameKey key)
        {
            // Задание кнопки для игрока (в настройках)
            // Может быть не только при this.engine.stage == GameStage.Before, но и в процессе игры
            if (_activePlayerButtonCommand == _setPlayerButton)
            {
                if (Settings.UsePlayersKeys == PlayerKeysModes.Joystick)
                {
                    ProcessNewPlayerButton(key);

                    _buttonManager.Stop();
                    _buttonManager.Dispose();
                    _buttonManager = null;
                }
            }

            return(false);
        }