private void HandleKeyboard(double dt) { var keyState = Keyboard.GetState(); if (keyState.IsKeyDown(Key.Escape)) { Exit(); } if (keyState.IsKeyDown(Key.M)) { GL.PolygonMode(MaterialFace.FrontAndBack, PolygonMode.Point); } if (keyState.IsKeyDown(Key.Comma)) { GL.PolygonMode(MaterialFace.FrontAndBack, PolygonMode.Line); } if (keyState.IsKeyDown(Key.Period)) { GL.PolygonMode(MaterialFace.FrontAndBack, PolygonMode.Fill); } if (keyState.IsKeyDown(Key.A)) { _player.MoveLeft(); } if (keyState.IsKeyDown(Key.D)) { _player.MoveRight(); } if (!_gameOver && keyState.IsKeyDown(Key.Space) && _lastKeyboardState.IsKeyUp(Key.Space)) { _gameObjects.Add(_gameObjectFactory.CreateBullet(_player.Position)); } _lastKeyboardState = keyState; }
private void HandleKeyboard(double dt) { var keyState = Keyboard.GetState(); if (keyState.IsKeyDown(Key.Escape)) { Exit(); } if (keyState.IsKeyDown(Key.M)) { GL.PolygonMode(MaterialFace.FrontAndBack, PolygonMode.Point); } if (keyState.IsKeyDown(Key.Comma)) { GL.PolygonMode(MaterialFace.FrontAndBack, PolygonMode.Line); } if (keyState.IsKeyDown(Key.Period)) { GL.PolygonMode(MaterialFace.FrontAndBack, PolygonMode.Fill); } if (keyState.IsKeyDown(Key.Number1)) { _bulletType = Bullet.BulletType.Straight; } if (keyState.IsKeyDown(Key.Number2)) { _bulletType = Bullet.BulletType.Wave; } if (keyState.IsKeyDown(Key.Number3)) { _bulletType = Bullet.BulletType.Seeker; } if (keyState.IsKeyDown(Key.Number4)) { _bulletType = Bullet.BulletType.SeekerExtra; } if (keyState.IsKeyDown(Key.A)) { _player.MoveLeft(); } if (keyState.IsKeyDown(Key.D)) { _player.MoveRight(); } if (!_gameOver && keyState.IsKeyDown(Key.Space) && _lastKeyboardState.IsKeyUp(Key.Space)) { var bullet = _gameObjectFactory.CreateBullet(_player.Position, _bulletType); if (_bulletType == Bullet.BulletType.Seeker || _bulletType == Bullet.BulletType.SeekerExtra) { var asteroids = _gameObjects.Where(x => x.GetType() == typeof(Asteroid)).ToList(); bullet.SetTarget((Asteroid)asteroids[bullet.GameObjectNumber % asteroids.Count]); } _gameObjects.Add(bullet); } _lastKeyboardState = keyState; }
private void HandleKeyboard(double dt) { var keyState = Keyboard.GetState(); if (keyState.IsKeyDown(Key.Escape)) { Exit(); } if (keyState.IsKeyDown(Key.PageDown) && _lastKeyboardState.IsKeyUp(Key.PageDown)) { ToggleFullscreen(); } if (keyState.IsKeyDown(Key.M)) { GL.PolygonMode(MaterialFace.FrontAndBack, PolygonMode.Point); } if (keyState.IsKeyDown(Key.Comma)) { GL.PolygonMode(MaterialFace.FrontAndBack, PolygonMode.Line); } if (keyState.IsKeyDown(Key.Period)) { GL.PolygonMode(MaterialFace.FrontAndBack, PolygonMode.Fill); } if (keyState.IsKeyDown(Key.Number1)) { _bulletType = Bullet.BulletType.Straight; } if (keyState.IsKeyDown(Key.Number2)) { _bulletType = Bullet.BulletType.Wave; } if (keyState.IsKeyDown(Key.Number3)) { _bulletType = Bullet.BulletType.Seeker; } if (keyState.IsKeyDown(Key.Number4)) { _bulletType = Bullet.BulletType.SeekerExtra; } if (keyState.IsKeyDown(Key.T)) { _useFirstPerson = false; } if (keyState.IsKeyDown(Key.F)) { _useFirstPerson = true; } if (keyState.IsKeyDown(Key.A)) { _player.MoveLeft(); } if (keyState.IsKeyDown(Key.D)) { _player.MoveRight(); } if (!_gameOver && keyState.IsKeyDown(Key.Space) && _lastKeyboardState.IsKeyUp(Key.Space)) { var bullet = _gameObjectFactory.CreateBullet(_player.Position, _bulletType); if (_bulletType == Bullet.BulletType.Seeker || _bulletType == Bullet.BulletType.SeekerExtra) { var asteroids = _gameObjects.Where(x => x.GetType() == typeof(Asteroid)).ToList(); bullet.SetTarget((Asteroid)asteroids[bullet.GameObjectNumber % asteroids.Count]); if (_useFirstPerson) { _camera = new FirstPersonCamera(bullet); } else { _camera = new ThirdPersonCamera(bullet, new Vector3(-0.3f, -0.3f, 0.1f)); } } _lastBullet = bullet; _gameObjects.Add(bullet); } _lastKeyboardState = keyState; }