private void CheckKeys(GameTime gameTime) { if (_dying) { return; } // Movement if (InputManager.Instace.KeyDown(Keys.Left) && Math.Abs(_knockbackAcceleration) < 1200f) { CharacterSprite.SetDirection(SpriteDirection.Left); _bottomSprite.SetDirection(SpriteDirection.Left); _movement = -1.0f; } else if (InputManager.Instace.KeyDown(Keys.Right) && Math.Abs(_knockbackAcceleration) < 1200f) { CharacterSprite.SetDirection(SpriteDirection.Right); _bottomSprite.SetDirection(SpriteDirection.Right); _movement = 1.0f; } // Attack if (!_isAttacking && InputManager.Instace.KeyDown(Keys.Z)) { RequestAttack(ShotAttack); } // Jump _isJumping = InputManager.Instace.KeyDown(Keys.C); // Recharging _recharging = _isOnGround && InputManager.Instace.KeyDown(Keys.X); if (_recharging) { if (CharacterSprite.CurrentFrame != 2) { _recharged = false; } if (CharacterSprite.CurrentFrame == 0) { TriggerRechargingParticles(); } else if (CharacterSprite.CurrentFrameList == "recharging" && CharacterSprite.CurrentFrame == 2 && !_recharged) { _recharged = true; var newAmmo = _ammo + 3; _ammo = MathHelper.Clamp(newAmmo, 0, MaxAmmo); _vacuumSei.PlaySafe(); } } if (_recharging && CharacterSprite.CurrentFrame == 0) { TriggerRechargingParticles(); } }