public void AndGivenTheLeftThumbStickIsFullyLeft() { var gamePadState = ObjectMother.Input.GamePadStates.Default .WithLeftThumbstickFullyLeft() .Build(); _state = ObjectMother.Core.ShooterGameInputStates.Default .WithCurrentGamePadState(gamePadState) .Build(); }
private void UpdateVelocity(ShooterGameInputState gameInputState) { var dx = 0.0f; var dy = 0.0f; dx += gameInputState.CurrentGamePadState.ThumbSticks.Left.X; dy -= gameInputState.CurrentGamePadState.ThumbSticks.Left.Y; if (gameInputState.CurrentKeyboardState.IsKeyDown(Keys.Left) || gameInputState.CurrentGamePadState.DPad.Left == ButtonState.Pressed) { dx--; } if (gameInputState.CurrentKeyboardState.IsKeyDown(Keys.Right) || gameInputState.CurrentGamePadState.DPad.Right == ButtonState.Pressed) { dx++; } if (gameInputState.CurrentKeyboardState.IsKeyDown(Keys.Up) || gameInputState.CurrentGamePadState.DPad.Up == ButtonState.Pressed) { dy--; } if (gameInputState.CurrentKeyboardState.IsKeyDown(Keys.Down) || gameInputState.CurrentGamePadState.DPad.Down == ButtonState.Pressed) { dy++; } while (gameInputState.CurrentTouchPanelState.IsGestureAvailable) { var gesture = gameInputState.CurrentTouchPanelState.ReadGesture(); if (gesture.GestureType == GestureType.FreeDrag) { // TODO this will need to be sanitised dx += gesture.Delta.X; dy += gesture.Delta.Y; } } if (gameInputState.CurrentMouseState.LeftButton == ButtonState.Pressed) { var mousePosition = new Vector2(gameInputState.CurrentMouseState.X, gameInputState.CurrentMouseState.Y); var mousePositionDelta = mousePosition - Position; mousePositionDelta.Normalize(); // TODO this will need to be sanitised dx += mousePositionDelta.X; dy += mousePositionDelta.Y; } _velocity = new Vector2(dx, dy); }
private void UpdateEnemies(ShooterGameInputState input) { if (input.GameTime.TotalGameTime - _previousEnemySpawnTime > _enemySpawnTime) { _previousEnemySpawnTime = input.GameTime.TotalGameTime; AddEmemy(); } foreach (var enemy in _enemies) { enemy.Update(input); } _enemies.RemoveWhere(x => !x.IsActive); }