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; }); }