コード例 #1
0
ファイル: Loader.cs プロジェクト: Taikatou/MVC-RPG
        public static InputListenerManager LoadInputManager()
        {
            InputListenerManager input_manager = new InputListenerManager();
            var mouse_listener = input_manager.AddListener(new MouseListenerSettings());

            mouse_listener.MouseClicked += (sender, args) =>
            {
                Debug.WriteLine("Click here: " + args.Position);
                Game.Instance.hud?.Click(args.Position);
            };
            var keyboard_listener = input_manager.AddListener(new KeyboardListenerSettings());

            keyboard_listener.KeyPressed += (sender, args) =>
            {
                KeyAction(args.Key, true);
            };
            keyboard_listener.KeyReleased += (sender, args) =>
            {
                KeyAction(args.Key, false);
            };
            var game_pad_listener = input_manager.AddListener(new GamePadListenerSettings(PlayerIndex.One));

            game_pad_listener.ButtonDown += (sender, args) =>
            {
                GamePadButton(args.Button, true);
            };
            game_pad_listener.ButtonUp += (sender, args) =>
            {
                GamePadButton(args.Button, false);
            };

            return(input_manager);
        }
コード例 #2
0
        protected override void Initialize()
        {
            _inputManager = new InputListenerManager();
            var mouseListener    = _inputManager.AddListener(new MouseListenerSettings());
            var keyboardListener = _inputManager.AddListener(new KeyboardListenerSettings());

            keyboardListener.KeyPressed += (sender, args) =>
            {
                if (args.Key == Keys.Escape)
                {
                    Exit();
                }
            };

            mouseListener.MouseClicked       += (sender, args) => LogMessage("{0} mouse button clicked", args.Button);
            mouseListener.MouseDoubleClicked += (sender, args) => LogMessage("{0} mouse button double-clicked", args.Button);
            mouseListener.MouseDown          += (sender, args) => LogMessage("{0} mouse button down", args.Button);
            mouseListener.MouseUp            += (sender, args) => LogMessage("{0} mouse button up", args.Button);
            mouseListener.MouseDrag          += (sender, args) => LogMessage("Mouse dragged");
            mouseListener.MouseWheelMoved    += (sender, args) => LogMessage("Mouse scroll wheel value {0}", args.ScrollWheelValue);

            keyboardListener.KeyPressed  += (sender, args) => LogMessage("{0} key pressed", args.Key);
            keyboardListener.KeyReleased += (sender, args) => LogMessage("{0} key released", args.Key);
            keyboardListener.KeyTyped    += (sender, args) =>
            {
                if (args.Key == Keys.Back && _typedString.Length > 0)
                {
                    _typedString = _typedString.Substring(0, _typedString.Length - 1);
                }
                else if (args.Key == Keys.Enter)
                {
                    LogMessage(_typedString);
                    _typedString = string.Empty;
                }
                else
                {
                    _typedString += args.Character?.ToString() ?? "";
                }
            };

            LogMessage("Do something with the mouse or keyboard...");

            base.Initialize();
        }
コード例 #3
0
        protected override void Initialize()
        {
            _inputManager = new InputListenerManager();
            var mouseListener = _inputManager.AddListener(new MouseListenerSettings());
            var keyboardListener = _inputManager.AddListener(new KeyboardListenerSettings());

            keyboardListener.KeyPressed += (sender, args) =>
            {
                if (args.Key == Keys.Escape)
                    Exit();
            };

            mouseListener.MouseClicked += (sender, args) => LogMessage("{0} mouse button clicked", args.Button);
            mouseListener.MouseDoubleClicked += (sender, args) => LogMessage("{0} mouse button double-clicked", args.Button);
            mouseListener.MouseDown += (sender, args) => LogMessage("{0} mouse button down", args.Button);
            mouseListener.MouseUp += (sender, args) => LogMessage("{0} mouse button up", args.Button);
            mouseListener.MouseDragged += (sender, args) => LogMessage("Mouse dragged");
            mouseListener.MouseWheelMoved += (sender, args) => LogMessage("Mouse scroll wheel value {0}", args.ScrollWheelValue);

            keyboardListener.KeyPressed += (sender, args) => LogMessage("{0} key pressed", args.Key);
            keyboardListener.KeyReleased += (sender, args) => LogMessage("{0} key released", args.Key);
            keyboardListener.KeyTyped += (sender, args) =>
            {
                if (args.Key == Keys.Back && _typedString.Length > 0)
                {
                    _typedString = _typedString.Substring(0, _typedString.Length - 1);
                }
                else if (args.Key == Keys.Enter)
                {
                    LogMessage(_typedString);
                    _typedString = string.Empty;
                }
                else
                {
                    _typedString += args.Character != null ? args.Character.ToString() : "";
                }
            };

            LogMessage("Do something with the mouse or keyboard...");

            base.Initialize();
        }
コード例 #4
0
        public GuiManager(ViewportAdapter viewportAdapter, GraphicsDevice graphicsDevice)
        {
            Layout = new GuiGridLayout();

            _viewportAdapter = viewportAdapter;
            _inputManager = new InputListenerManager(viewportAdapter);
            _spriteBatch = new SpriteBatch(graphicsDevice);

            var mouseListener = _inputManager.AddListener<MouseListener>();
            mouseListener.MouseMoved += OnMouseMoved;
            mouseListener.MouseDown += (sender, args) => Layout.OnMouseDown(this, args);
            mouseListener.MouseUp += (sender, args) => Layout.OnMouseUp(this, args);
        }
コード例 #5
0
        public GuiManager(ViewportAdapter viewportAdapter, GraphicsDevice graphicsDevice)
        {
            _viewportAdapter = viewportAdapter;
            _inputManager = new InputListenerManager(viewportAdapter);
            _spriteBatch = new SpriteBatch(graphicsDevice);

            Controls = new List<GuiControl>();

            var mouseListener = _inputManager.AddListener<MouseListener>();
            mouseListener.MouseMoved += (sender, args) =>
            {
                if (_focusedControl != null)
                    _focusedControl.OnMouseLeave(this, args);

                _focusedControl = FindFocusedControl(args.Position);

                if (_focusedControl != null)
                    _focusedControl.OnMouseEnter(this, args);

                DelegateMouseEvent(args, c => c.OnMouseMoved(this, args));
            };
            mouseListener.MouseDown += (sender, args) => DelegateMouseEvent(args, c => c.OnMouseDown(this, args));
            mouseListener.MouseUp += (sender, args) => DelegateMouseEvent(args, c => c.OnMouseUp(this, args));
        }
コード例 #6
0
        private void SetUpInput()
        {
            _inputManager = new InputListenerManager();

            var up = new Vector2(0, -250);
            var right = new Vector2(250, 0);

            //camera movement
            var keyboardListener = _inputManager.AddListener<KeyboardListener>();
            var mouseListener = _inputManager.AddListener<MouseListener>();

            keyboardListener.KeyPressed += (sender, args) =>
            {
                switch (args.Key)
                {
                    case Keys.Escape:
                        Exit();
                        break;

                    case Keys.Q:                        
                        _cameraRotation += 1;
                        break;
                    case Keys.W:
                        _cameraRotation -= 1;
                        break;

                    case Keys.Up:
                        _cameraDirection += up;
                        break;
                    case Keys.Down:
                        _cameraDirection += -up;
                        break;
                    case Keys.Left:
                        _cameraDirection += -right;
                        break;
                    case Keys.Right:
                        _cameraDirection += right;
                        break;
                }
            };

            keyboardListener.KeyReleased += (sender, args) =>
            {
                switch (args.Key)
                {
                    case Keys.Q:
                        _cameraRotation -= 1;
                        break;
                    case Keys.W:
                        _cameraRotation += 1;
                        break;

                    case Keys.Up:
                        _cameraDirection -= up;
                        break;
                    case Keys.Down:
                        _cameraDirection -= -up;
                        break;
                    case Keys.Left:
                        _cameraDirection -= -right;
                        break;
                    case Keys.Right:                       
                        _cameraDirection -= right;
                        break;
                }
            };

            // zoom
            mouseListener.MouseWheelMoved += (sender, args) =>
            {
                _camera.Zoom += args.ScrollWheelDelta * 0.001f;
            };

            //// look at
            //mouseListener.MouseUp += (sender, args) =>
            //{
            //    if (args.Button == MouseButton.Left)
            //    {
            //        var p = _viewportAdapter.PointToScreen(args.Position);
            //        Trace.WriteLine(string.Format("{0} => {1}", args.Position, p));
            //    }
            //};

            mouseListener.MouseDown += (sender, args) => Trace.WriteLine("MouseDown");
            mouseListener.MouseUp += (sender, args) => Trace.WriteLine("MouseUp");
            mouseListener.MouseClicked += (sender, args) => Trace.WriteLine("MouseClicked");
            mouseListener.MouseDoubleClicked += (sender, args) => Trace.WriteLine("MouseDoubleClicked");
            mouseListener.MouseWheelMoved += (sender, args) => Trace.WriteLine(string.Format("MouseWheelMoved {0}", args.ScrollWheelValue));
            mouseListener.MouseDragged += (sender, args) => Trace.WriteLine("MouseDragged");
        }
コード例 #7
0
ファイル: InputManager.cs プロジェクト: MSigma/ZooBurst
 internal EventsContainer(InputListenerManager input)
 {
     _keyboard = input.AddListener<KeyboardListener>();
     _mouse = input.AddListener<MouseListener>();
 }