protected override void Update(GameTime gameTime) { var keyboardState = KeyboardExtended.GetState(); var mouseState = MouseExtended.GetState(); var elapsedSeconds = gameTime.GetElapsedSeconds(); if (keyboardState.IsKeyDown(Keys.Escape)) { Exit(); } if (keyboardState.WasKeyJustDown(Keys.Space)) { _tweener.CancelAll(); } if (keyboardState.WasKeyJustDown(Keys.Tab)) { _tweener.CancelAndCompleteAll(); } if (mouseState.IsButtonDown(MouseButton.Left)) { _tweener.TweenTo(this, a => a.Linear, mouseState.Position.ToVector2(), 1.0f) .Easing(EasingFunctions.QuadraticOut); } _tweener.Update(elapsedSeconds); base.Update(gameTime); }
public override void Process(GameTime gameTime, int entityId) { var keyboardState = KeyboardExtended.GetState(); var body = _bodyMapper.Get(entityId); var player = _playerMapper.Get(entityId); if (keyboardState.IsKeyDown(Keys.Right) && player.Name == "mikze") { body.ApplyForceToCenter(new System.Numerics.Vector2(10, 0)); } if (keyboardState.IsKeyDown(Keys.Left) && player.Name == "mikze") { body.ApplyForceToCenter(new System.Numerics.Vector2(-10, 0)); } if (keyboardState.IsKeyDown(Keys.Up) && player.Name == "mikze") { body.ApplyLinearImpulseToCenter(new System.Numerics.Vector2(0, -0.1f)); } if (keyboardState.IsKeyDown(Keys.D) && player.Name == "mikze2") { body.ApplyForceToCenter(new System.Numerics.Vector2(10, 0)); } if (keyboardState.IsKeyDown(Keys.A) && player.Name == "mikze2") { body.ApplyForceToCenter(new System.Numerics.Vector2(-10, 0)); } if (keyboardState.IsKeyDown(Keys.W) && player.Name == "mikze2") { body.ApplyLinearImpulseToCenter(new System.Numerics.Vector2(0, -0.1f)); } }
public override void Update(Microsoft.Xna.Framework.GameTime gameTime) { if (KeyboardExtended.GetState().WasKeyJustDown(Keys.Escape)) { ScreenManager.LoadScreen(new MainMenuScreen(Game)); } }
public override void Update(GameTime gameTime) { base.Update(gameTime); if (KeyboardExtended.GetState().WasKeyJustDown(Microsoft.Xna.Framework.Input.Keys.Escape)) { ScreenManager.LoadScreen(new MainMenuScreen(Game), new FadeTransition(GraphicsDevice, Color.Black, 1.3f)); } }
public void UpdateMenu() { var keyboardState = KeyboardExtended.GetState(); if (keyboardState.WasKeyJustUp(Keys.Up)) { loadScreen.menuIndex--; } else if (keyboardState.WasKeyJustUp(Keys.Down)) { loadScreen.menuIndex++; } if (keyboardState.WasKeyJustUp(Keys.Enter)) { switch (levelNumber) { case "StartScreen": levelNumber = "Load"; loadScreen.menuIndex = 1; sceneCreator.UnloadObjects(true, _objects); sceneCreator.LevelLoader(Content, graphics.GraphicsDevice, _objects, levelNumber, checkPoint, false); break; case "Load": loadMenu.ChooseSaveFIle(_objects, sceneCreator, Content, GraphicsDevice, loadScreen); break; case "GameOver": levelNumber = previousLevel; sceneCreator.UnloadObjects(true, _objects); inMenu = false; sceneCreator.LevelLoader(Content, graphics.GraphicsDevice, _objects, levelNumber, checkPoint, true); break; default: inMenu = false; PauseMenu.active = false; break; } if (keyboardState.IsKeyDown(Keys.RightShift) && keyboardState.IsKeyDown(Keys.V) && keyboardState.IsKeyDown(Keys.Space)) { levelNumber = "StartScreen"; checkPoint = "1"; inMenu = true; Entity.applyGravity = true; sceneCreator.UnloadObjects(true, _objects); sceneCreator.LevelLoader(Content, graphics.GraphicsDevice, _objects, levelNumber, checkPoint, false); } } }
public override void Update(GameTime time) { var keyState = KeyboardExtended.GetState(); if (keyState.WasKeyJustDown(Keys.Escape)) { GameContext.Hud.Default(); return; } base.Update(time); }
public override void Update(GameTime gameTime) { var keyboardState = KeyboardExtended.GetState(); if (keyboardState.WasKeyJustDown(Keys.Escape)) { ScreenManager.LoadScreen(new TitleScreen(Game), new ExpandTransition(GraphicsDevice, Color.Black)); } entityManager.Update(gameTime); collisionComponent.Update(gameTime); }
internal override void UpdateScene(GameTime gameTime) { var keyboardState = KeyboardExtended.GetState(); if (keyboardState.IsKeyDown(Microsoft.Xna.Framework.Input.Keys.Enter)) { ProtoHelper.WriteToChat(chatText.Text); var t = text.Get <Text>(); t.text = $"{ProtoHelper.nickname}: {chatText.Text}"; } _guiSystem.Update(gameTime); }
public override void Update(GameTime gameTime) { var kbd = KeyboardExtended.GetState(); Parallel.ForEach(_kbdmap, (m) => { if (kbd.WasKeyJustDown(m.Key)) { _l.Debug(String.Format("{0}: {1}", _topic, m.Value)); _commander.Command(_topic, m.Value); } }); }
internal override void UpdateScene(GameTime gameTime) { if (IsLoaded) { if (b2DWorld != null) { const float TimeStep = 1.0f / 60; const int VelocityIterations = 6; const int PositionIterations = 2; b2DWorld.Step(TimeStep, VelocityIterations, PositionIterations); } var keyboardState = KeyboardExtended.GetState(); var input = Input.none; if (keyboardState.IsKeyDown(Keys.Right)) { input |= Input.right; } if (keyboardState.IsKeyDown(Keys.Left)) { input |= Input.left; } if (keyboardState.IsKeyDown(Keys.Up)) { input |= Input.up; } if (keyboardState.IsKeyDown(Keys.Space)) { input |= Input.kick; } if (keyboardState.IsKeyUp(Keys.Space)) { input |= Input.kickUp; } if (keyboardState.IsKeyDown(Keys.Escape)) { world.Dispose(); ProtoHelper.WriteToChat("!disconnect"); _sceneHandler.ChangeScene(new MenuScene()); } if (Enemy) { input |= Input.enemy; } inputClient.Send((byte)input, inputEndPoint); } }
public override void Process(GameTime gameTime, int entityId) { var enemy = enemyMapper.Get(entityId); var sprite = spriteMapper.Get(entityId); var transform = transformMapper.Get(entityId); var body = bodyMapper.Get(entityId); var keyboardState = KeyboardExtended.GetState(); //if (!player.IsAttacking) //{ // if (body.Velocity.X > 0 || body.Velocity.X < 0) // player.State = State.Walking; // //if (body.Velocity.Y < 0) // // player.State = State.Jumping; // //if (body.Velocity.Y > 0) // // player.State = State.Falling; // if (body.Velocity.EqualsWithTolerence(Vector2.Zero, 5)) // player.State = State.Idle; //} if (enemy.OnCombat && !MusicPlayer.GotBeat()) { enemy.State = State.Combat; } switch (enemy.State) { case State.Walking: sprite.Play("walk"); sprite.Effect = enemy.Facing == Facing.Right ? SpriteEffects.None : SpriteEffects.FlipHorizontally; break; case State.Idle: sprite.Play("idle"); sprite.Effect = enemy.Facing == Facing.Right ? SpriteEffects.None : SpriteEffects.FlipHorizontally; break; case State.Combat: sprite.Play("combat", () => { enemy.State = State.Idle; }); break; default: throw new ArgumentOutOfRangeException(); } enemy.ImmuneTimer = Math.Max(enemy.ImmuneTimer - (float)gameTime.ElapsedGameTime.TotalSeconds, 0); // body.Velocity.X *= 0.7f; }
public override void Update(GameTime gameTime) { var mouseState = MouseExtended.GetState(); var keyboardState = KeyboardExtended.GetState(); if (keyboardState.WasKeyJustDown(Keys.Escape)) { Game.Exit(); } if (mouseState.LeftButton == ButtonState.Pressed || keyboardState.WasAnyKeyJustDown()) { ScreenManager.LoadScreen(new HippaGameScreen(Game), new FadeTransition(GraphicsDevice, Color.Black, 0.5f)); } }
public override void Update(GameTime gameTime) { var keyboardState = KeyboardExtended.GetState(); if (keyboardState.WasKeyJustDown(Keys.Q)) { Game.Exit(); } if (keyboardState.WasKeyJustDown(Keys.Space)) { ScreenManager.LoadScreen( new MainGameScreen(Game), new FadeTransition(GraphicsDevice, Color.Black, 0.5f) ); } }
public override void Update(GameTime gameTime) { var elapsedSecs = gameTime.GetElapsedSeconds(); var keyboardState = KeyboardExtended.GetState(); if (keyboardState.WasKeyJustDown(Keys.Q)) { ScreenManager.LoadScreen( new TitleScreen(Game), new ExpandTransition(GraphicsDevice, Color.Black) ); } if (keyboardState.WasKeyJustDown(Keys.D)) { if (debug) { debug = false; } else if (!debug) { debug = true; } } ball.MoveBall(elapsedSecs, ScreenWidth, ScreenHeight); ball.CollisionCheck(aiPaddle); ball.CollisionCheck(playerPaddle); playerPaddle.MovePaddlePlayer(keyboardState, ScreenHeight); aiPaddle.MovePaddleAi(ball, elapsedSecs, 0.85f); if (ball.scored == "player") { playerScore++; } else if (ball.scored == "ai") { aiScore++; } ball.scored = ""; fpsCounter.Update(gameTime); tweener.Update(elapsedSecs); }
public override void Update(GameTime gameTime) { var elapsedSeconds = gameTime.GetElapsedSeconds(); var mouseState = MouseExtended.GetState(); var keyboardState = KeyboardExtended.GetState(); if (keyboardState.WasKeyJustDown(Keys.Escape)) { ScreenManager.LoadScreen(new TitleScreen(Game), new ExpandTransition(GraphicsDevice, Color.Black)); } MovePaddlePlayer(mouseState); MovePaddleAi(_redPaddle, elapsedSeconds); ConstrainPaddle(_bluePaddle); ConstrainPaddle(_redPaddle); MoveBall(elapsedSeconds); if (BallHitPaddle(_ball, _bluePaddle)) { // TODO: Change the angle of the bounce //_tweener.TweenTo(_bluePaddle, p => p.Rotation, MathHelper.Pi / 16f, 0.2f) // //.OnSet(v => new Vector2(v.X, _bluePaddle.Position.Y)) // .RepeatReverse() // .Easing(EasingFunctions.ExponentialIn); _plopSoundEffect.Play(1.0f, _random.NextSingle(0.5f, 1.0f), -1f); } if (BallHitPaddle(_ball, _redPaddle)) { // TODO: Change the angle of the bounce //_tweener.TweenTo(_redPaddle, p => p.Position, _redPaddle.Position + new Vector2(15, 0), 0.2f) // .RepeatReverse() // .Easing(EasingFunctions.ExponentialIn); _plopSoundEffect.Play(1f, _random.NextSingle(-1f, 1f), 1f); } _tweener.Update(elapsedSeconds); }
public override void Process(GameTime gameTime, int entityId) { var keyboardState = KeyboardExtended.GetState(); var mouseState = MouseExtended.GetState(); var moveable = _moveableMapper.Get(entityId); if (moveable != null) { ProcessMovement(gameTime, moveable, keyboardState); } var zoomable = _zoomableMapper.Get(entityId); if (zoomable != null) { ProcessZoom(gameTime, zoomable, mouseState); } }
protected override void Update(GameTime gameTime) { base.Update(gameTime); if (!form.ContainsFocus) { return; } HandleViewportSizeChange(); MouseStateExtended mouseState = MouseExtended.GetState(); KeyboardStateExtended keyboardState = KeyboardExtended.GetState(); Point mousePosition = mouseState.Position; Vector2 worldPosition = camera.ScreenToWorld(mousePosition.ToVector2()); TileLayer.TilePositionDetail tilePositionDetail = myMap.GetTileAtPosition(worldPosition, ActiveLayer); CollisionLayer.CellPositionDetail cellPositionDetail = myMap.GetCellAtPosition(worldPosition); Tile tile = tilePositionDetail.Tile; if (mouseState.IsButtonDown(MouseButton.Right)) { camera.Move(mouseState.DeltaPosition.ToVector2() / camera.Zoom); } else if (mouseState.DeltaScrollWheelValue != 0) { camera.Zoom = MathHelper.Clamp(camera.Zoom - mouseState.DeltaScrollWheelValue * 0.001f, camera.MinimumZoom, camera.MaximumZoom); } if (ActivePaintingTool != null) { if (ActivePaintingTool.IsValidPosition(myMap, keyboardState, tilePositionDetail, cellPositionDetail)) { if (mouseState.IsButtonDown(MouseButton.Left)) { ActivePaintingTool.Paint(myMap, keyboardState, tilePositionDetail, cellPositionDetail); } else { ActivePaintingTool.Hover(myMap, keyboardState, tilePositionDetail, cellPositionDetail); } } } }
public override void Update(Microsoft.Xna.Framework.GameTime gameTime) { if (KeyboardExtended.GetState().WasKeyJustDown(Keys.Escape)) { ScreenManager.LoadScreen(new MainMenuScreen(Game)); } CheckForCombat(); if (enemies.Count < 1) { if (!isEnding) { ScreenManager.LoadScreen(new CutsceneScreen(Game, Scene.Ending), new FadeTransition(GraphicsDevice, Color.Black, 1.2f)); } else { ScreenManager.LoadScreen(new CongratulationsScreen(Game), new FadeTransition(GraphicsDevice, Color.Black, 1f)); } } }
public override void Update(List <GameObject> _objects, Map map, GameTime gameTime) { var keyboardState = KeyboardExtended.GetState(); if (keyboardState.WasKeyJustUp(Keys.V) && textIterator == textBoxText[itereator].Length) { itereator += 1; if (itereator == textBoxText.Count) { isInTextBox = false; itereator = 0; textIterator = 0; textCounter = 0; displayText = ""; } else { textTimer = textTimerMax; } } if (textTimer > 0) { textTimer--; } if (isInTextBox) { for (int i = 0; i < _objects.Count; i++) { _objects[i].canMove = false; } if (textIterator < textBoxText[itereator].Length && textSpeed <= 0) { char[] textArray = textBoxText[itereator].ToCharArray(); displayText += textArray[textIterator].ToString(); if (textArray[textIterator].ToString() != " ") { textBlip.Play(); } if (textCounter > 15 && textArray[textIterator].ToString() == " ") { displayText += "\n"; textCounter = 0; } textCounter++; textIterator++; textSpeed = textSpeedTimer; } } else { for (int i = 0; i < _objects.Count; i++) { _objects[i].canMove = true; } } if (textSpeed > 0) { textSpeed--; } base.Update(_objects, map, gameTime); }
public override void Update(GameTime gameTime) { var mouseState = MouseExtended.GetState(); var keyboardState = KeyboardExtended.GetState(); var mousePosition = _camera.ScreenToWorld(mouseState.Position.ToVector2()).FromIsometric(); (int, int)currentTile = mousePosition.MapFromCenterTilePointToTopRightTileIndex(_currentPlaceableUnitConfig?.TileSpan ?? (1, 1)); // TODO: Introduce state machine :D if (keyboardState.IsKeyDown(Keys.D1)) { MakeNewPlacementGuide(new MinerUnitConfig(), currentTile); } if (keyboardState.IsKeyDown(Keys.D2)) { MakeNewPlacementGuide(new ConveyorBeltUnitConfig(), currentTile); } if (keyboardState.IsKeyDown(Keys.Escape) && _currentPlaceableEntity != null) { ClearPlacementGuide(); } if (keyboardState.IsKeyDown(Keys.R) && _currentPlaceableEntity != null && !isRotating) { isRotating = true; var alignable = _currentPlaceableEntity.Get <Alignable>(); if (alignable != null) { alignable.Rotate(); } } else if (keyboardState.IsKeyUp(Keys.R)) { isRotating = false; } var currentTileOccupied = IsCurrentTileOccupied(currentTile); if (mouseState.LeftButton == ButtonState.Released && _previousMouseState.LeftButton == ButtonState.Pressed && _currentPlaceableEntity != null && !currentTileOccupied) { var alignable = _currentPlaceableEntity.Get <Alignable>(); _entityBuilder.BuildUnit(CreateEntity(), currentTile, _currentPlaceableUnitConfig, alignable.Direction); } foreach (var entityId in ActiveEntities) { var placeable = _placeableMapper.Get(entityId); var tilePosition = _tilePositionMapper.Get(entityId); var tileBorder = _tileBorderMapper.Get(entityId); if (placeable == null) { continue; } if (tilePosition != null) { tilePosition.ChangeTile(currentTile); } tileBorder.Color = currentTileOccupied ? Color.Red : Color.LimeGreen; } _previousMouseState = mouseState; }
public override void Process(GameTime gameTime, int entityId) { var player = _playerMapper.Get(entityId); var sprite = _spriteMapper.Get(entityId); var transform = _transformMapper.Get(entityId); var body = _bodyMapper.Get(entityId); var keyboardState = KeyboardExtended.GetState(); if (player.CanJump) { if (keyboardState.WasKeyJustUp(Keys.Up)) { body.Velocity.Y -= 550 + Math.Abs(body.Velocity.X) * 0.4f; } if (keyboardState.WasKeyJustUp(Keys.Z)) { body.Velocity.Y -= 550 + Math.Abs(body.Velocity.X) * 0.4f; player.State = player.State == State.Idle ? State.Punching : State.Kicking; } } if (keyboardState.IsKeyDown(Keys.Right)) { body.Velocity.X += 150; player.Facing = Facing.Right; } if (keyboardState.IsKeyDown(Keys.Left)) { body.Velocity.X -= 150; player.Facing = Facing.Left; } if (!player.IsAttacking) { if (body.Velocity.X > 0 || body.Velocity.X < 0) { player.State = State.Walking; } if (body.Velocity.Y < 0) { player.State = State.Jumping; } if (body.Velocity.Y > 0) { player.State = State.Falling; } if (body.Velocity.EqualsWithTolerence(Vector2.Zero, 5)) { player.State = State.Idle; } } if (keyboardState.IsKeyDown(Keys.Down)) { player.State = State.Cool; } switch (player.State) { case State.Jumping: sprite.Play("jump"); break; case State.Walking: sprite.Play("walk"); sprite.Effect = player.Facing == Facing.Right ? SpriteEffects.None : SpriteEffects.FlipHorizontally; break; case State.Falling: sprite.Play("fall"); break; case State.Idle: sprite.Play("idle"); break; case State.Kicking: sprite.Play("kick", () => player.State = State.Idle); break; case State.Punching: sprite.Play("punch", () => player.State = State.Idle); break; case State.Cool: sprite.Play("cool"); break; default: throw new ArgumentOutOfRangeException(); } body.Velocity.X *= 0.7f; // TODO: Can we remove this? //transform.Position = body.Position; }
private void CheckInput() { var keyboardState = KeyboardExtended.GetState(); if (keyboardState.WasKeyJustUp(Keys.Enter)) { if (!Game1.inMenu) { //darken screen PauseMenu.pauseScreen.X = (int)(Camera.position.X - Camera.cameraOffset.X); PauseMenu.pauseScreenRec.Y = (int)(Camera.position.Y - Camera.cameraOffset.Y); PauseMenu.active = true; Game1.inMenu = true; } } // move top down in overworld if (keyboardState.IsKeyDown(Keys.Right)) { MoveRight(); objectAnimated.Effect = SpriteEffects.None; PlayerState = State.RightWalk; } else if (keyboardState.IsKeyDown(Keys.Up)) { MoveUp(); objectAnimated.Effect = SpriteEffects.None; PlayerState = State.UpWalk; } else if (keyboardState.IsKeyDown(Keys.Down)) { MoveDown(); objectAnimated.Effect = SpriteEffects.None; PlayerState = State.DownWalk; } else if (keyboardState.IsKeyDown(Keys.Left)) { MoveLeft(); PlayerState = State.LeftWalk; } if (velocity == Vector2.Zero) { switch (PlayerState) { case State.DownWalk: PlayerState = State.Down; break; case State.RightWalk: PlayerState = State.Right; break; case State.LeftWalk: PlayerState = State.Left; break; case State.UpWalk: PlayerState = State.Up; break; } } }
public override void Process(GameTime gameTime, int entityId) { var player = playerMapper.Get(entityId); var sprite = spriteMapper.Get(entityId); var transform = transformMapper.Get(entityId); var body = bodyMapper.Get(entityId); var keyboardState = KeyboardExtended.GetState(); var health = healthMapper.Get(entityId); if (!player.IsAttacking) { if (keyboardState.IsKeyDown(Keys.Right)) { body.Velocity.X += 150; player.Facing = Facing.Right; } if (keyboardState.IsKeyDown(Keys.Left)) { body.Velocity.X -= 150; player.Facing = Facing.Left; } if (body.Velocity.X > 0 || body.Velocity.X < 0) { player.State = State.Walking; } //if (body.Velocity.Y < 0) // player.State = State.Jumping; //if (body.Velocity.Y > 0) // player.State = State.Falling; if (body.Velocity.EqualsWithTolerence(Vector2.Zero, 5)) { player.State = State.Idle; } } if (keyboardState.IsKeyDown(Keys.C)) { player.State = State.Guard; body.Velocity.X = 0; } if (Keyboard.GetState().IsKeyDown(Keys.D) && lastKeyboardState.IsKeyUp(Keys.D)) { health.LifePoints--; } if (MusicPlayer.GotBeat()) { if (Keyboard.GetState().IsKeyDown(Keys.Z) && lastKeyboardState.IsKeyUp(Keys.Z)) { player.State = State.Combat; } } switch (player.State) { case State.Walking: sprite.Play("walk"); sprite.Effect = player.Facing == Facing.Right ? SpriteEffects.None : SpriteEffects.FlipHorizontally; break; case State.Idle: sprite.Play("idle"); break; case State.Combat: sprite.Play("combat", () => { player.State = State.Idle; }); break; case State.Guard: sprite.Play("guard"); break; default: throw new ArgumentOutOfRangeException(); } body.Velocity.X *= 0.7f; player.ImmuneTimer = Math.Max(player.ImmuneTimer - (float)gameTime.ElapsedGameTime.TotalSeconds, 0); //orthographicCamera.LookAt(transform.Position); // TODO: Can we remove this? //transform.Position = body.Position; lastKeyboardState = Keyboard.GetState(); }
public static void Update() { _currentKeyboardState = KeyboardExtended.GetState(); }
public override void Update(GameTime gameTime) { dialogLabel.Text = String.Empty; if (inDialog < dialogs.Length) { var dialogSplit = dialogs[inDialog].Split(':'); var character = dialogSplit[0]; var currentDialog = dialogSplit[1]; switch (character) { case "hero": dialogImage.Texture = heroFrame; break; case "wizard": dialogImage.Texture = wizardFrame; break; } charactersElapsed += (float)gameTime.ElapsedGameTime.TotalSeconds; if (charactersElapsed > 0.05f) { showZKey = false; if (charactersToShow > currentDialog.Length) { showZKey = true; if (KeyboardExtended.GetState().WasKeyJustDown(Keys.Z)) { inDialog++; charactersToShow = 0; dialogLabel.Text = String.Empty; } } else { charactersElapsed = 0f; charactersToShow++; } } for (int i = 0; i < charactersToShow - 1; i++) { dialogLabel.Text += currentDialog[i]; } } else { if (scene == Scene.Start) { ScreenManager.LoadScreen(new GameplayScreen(Game, false), new FadeTransition(GraphicsDevice, Color.Black)); } else { ScreenManager.LoadScreen(new GameplayScreen(Game, true), new FadeTransition(GraphicsDevice, Color.Black)); } } if (KeyboardExtended.GetState().WasKeyJustDown(Keys.Escape)) { if (scene == Scene.Start) { ScreenManager.LoadScreen(new GameplayScreen(Game, false), new FadeTransition(GraphicsDevice, Color.Black)); } else { ScreenManager.LoadScreen(new GameplayScreen(Game, true), new FadeTransition(GraphicsDevice, Color.Black)); } } zKeyImage.Visible = showZKey; }
private void CheckInput(Map map) { var keyboardState = KeyboardExtended.GetState(); if (keyboardState.WasKeyJustUp(Keys.Enter)) { if (!Game1.inMenu) { //darken screen PauseMenu.pauseScreen.X = (int)(Camera.position.X - Camera.cameraOffset.X); PauseMenu.pauseScreenRec.Y = (int)(Camera.position.Y - Camera.cameraOffset.Y); PauseMenu.active = true; Game1.inMenu = true; } } if (PlayerState != State.Attacking) { if (keyboardState.WasKeyJustUp(Keys.Down)) { PlayerState = State.Ducking; boundingBoxHeight = 16; boundingBoxOffset = new Vector2(17, 15); } if (keyboardState.WasKeyJustDown(Keys.Down)) { PlayerState = State.Idle; boundingBoxHeight = 22; boundingBoxOffset = new Vector2(17, 9); } //move left right if (keyboardState.IsKeyDown(Keys.Left)) { MoveLeft(); objectAnimated.Effect = SpriteEffects.FlipHorizontally; } if (keyboardState.IsKeyDown(Keys.Right)) { MoveRight(); objectAnimated.Effect = SpriteEffects.None; } } if (!applyGravity) { // move top down in overworld if (keyboardState.IsKeyDown(Keys.Up)) { MoveUp(); } if (keyboardState.IsKeyDown(Keys.Down)) { MoveDown(); } } else { //jump and attack in levels if (keyboardState.WasKeyJustUp(Keys.Space) && !isJumping) { jumpSFX.Play(); Jump(map); } if (keyboardState.WasKeyJustDown(Keys.Space)) { JumpCancel(map); } if (keyboardState.WasKeyJustUp(Keys.V) && PlayerState != State.Attacking) { //if (keyboardState.IsKeyDown(Keys.Down) && isJumping){ // Damage((new Vector2(0, 32)+ positionOffset), true); // PlayerState = State.AttackingDown; //} else if (isJumping) { //attack in air PlayerState = State.JumpAttack; attackTimer = attackTimerMax; attackSFX.Play(); } else { // attack on ground if (!isBySign) { PlayerState = State.Attacking; attackSFX.Play(); } attackTimer = attackTimerMax; } if (!isJumping) { velocity.X = 0; } } } if (PlayerState != State.Attacking && PlayerState != State.JumpAttack && PlayerState != State.AttackingDown) { if ((int)velocity.X != 0) { PlayerState = State.Walking; } else if (PlayerState != State.Ducking) { PlayerState = State.Idle; } if (isOnPlatform && !keyboardState.IsKeyDown(Keys.Left) && !keyboardState.IsKeyDown(Keys.Right) && !keyboardState.IsKeyDown(Keys.Down)) { PlayerState = State.Idle; } if (isJumping) { PlayerState = State.Jumping; } } }