예제 #1
0
        public void Init(Scene.Scene scene)
        {
            scene.AddInputListener("keypress", (e) =>
            {
                switch (e.Keyboard.KeyEnum)
                {
                case Keys.Left:
                case Keys.A:
                    _controlState.Left = true;
                    _inputChange       = true;
                    break;

                case Keys.Right:
                case Keys.D:
                    _controlState.Right = true;
                    _inputChange        = true;
                    break;

                case Keys.W:
                case Keys.Space:
                    _controlState.Jump = true;
                    _inputChange       = true;
                    break;

                case Keys.Q:
                    _controlState.DropItem = true;
                    _inputChange           = true;
                    break;
                }

                _controlState.Mouse.X = e.Mouse.X;
                _controlState.Mouse.Y = e.Mouse.Y;
            });

            scene.AddInputListener("keyup", (e) =>
            {
                switch (e.Keyboard.KeyEnum)
                {
                case Keys.Left:
                case Keys.A:
                    _controlState.Left = false;
                    _inputChange       = true;
                    break;

                case Keys.Right:
                case Keys.D:
                    _controlState.Right = false;
                    _inputChange        = true;
                    break;

                case Keys.W:
                case Keys.Space:
                    _controlState.Jump = false;
                    _inputChange       = true;
                    break;

                case Keys.Q:
                    _controlState.DropItem = false;
                    _inputChange           = true;
                    break;
                }

                _controlState.Mouse.X = e.Mouse.X;
                _controlState.Mouse.Y = e.Mouse.Y;
            });

            scene.AddInputListener("mousemove", (e) =>
            {
                _controlState.Mouse.X = e.Mouse.X;
                _controlState.Mouse.Y = e.Mouse.Y;

                _inputChange = true;
            });

            scene.AddInputListener("mouseclick", (e) =>
            {
                _controlState.LeftClick  = e.Mouse.LeftButton == ButtonState.Pressed;
                _controlState.RightClick = e.Mouse.RightButton == ButtonState.Pressed;

                _controlState.Mouse.X = e.Mouse.X;
                _controlState.Mouse.Y = e.Mouse.Y;

                _inputChange = true;
            });

            scene.AddInputListener("mouseup", (e) =>
            {
                _controlState.LeftClick  = e.Mouse.LeftButton == ButtonState.Pressed;
                _controlState.RightClick = e.Mouse.RightButton == ButtonState.Pressed;

                _controlState.Mouse.X = e.Mouse.X;
                _controlState.Mouse.Y = e.Mouse.Y;

                _inputChange = true;
            });
        }