protected override void Update(GameTime gameTime) { if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed || Keyboard.GetState().IsKeyDown(Keys.Escape) || gameOver.Quit) { Exit(); } MouseKeyboardManager.Update(); elapsedGameTimeSeconds = gameTime.ElapsedGameTime.TotalSeconds; elapsedGameTimeMilliseconds = gameTime.ElapsedGameTime.TotalMilliseconds; switch (state) { case States.Menu: mainMenu.Update(gameTime, ref state, ref player); break; case States.Quit: Exit(); break; case States.FFA: ffaArena.Update(gameTime, ref state, ref player); break; case States.CharacterSelection: characterSelection.Update(gameTime, ref state, ref player); if (state == States.FFA) { ffaArena = new PlayState(Window, spriteBatch, player, networkManager, playerManager); } break; case States.Pause: mainMenu.Update(gameTime, ref state, ref player); break; case States.Lobby: lobby.Update(gameTime, ref state, ref player); if (state == States.FFA) { ffaArena = new PlayState(Window, spriteBatch, player, networkManager, playerManager); } break; case States.Win: gameOver.Won = LocalWin; gameOver.Update(gameTime, ref state, ref player); break; default: break; } base.Update(gameTime); }
//returnerar angle i grader protected double UpdateMovementDirection() { walking = false; double newDirection = direction; if (Keyboard.GetState().IsKeyDown(Keys.W) || MouseKeyboardManager.LeftThumbStickUp()) { walking = true; if (Keyboard.GetState().IsKeyDown(Keys.D) || MouseKeyboardManager.LeftThumbStickRight()) { newDirection = Math.PI * 1.75; } else if (Keyboard.GetState().IsKeyDown(Keys.A) || MouseKeyboardManager.LeftThumbStickLeft()) { newDirection = Math.PI * 1.25; } else { newDirection = Math.PI * 1.5; } } else if (Keyboard.GetState().IsKeyDown(Keys.S) || MouseKeyboardManager.LeftThumbStickDown()) { walking = true; if (Keyboard.GetState().IsKeyDown(Keys.D) || MouseKeyboardManager.LeftThumbStickRight()) { newDirection = Math.PI * 0.25; } else if (Keyboard.GetState().IsKeyDown(Keys.A) || MouseKeyboardManager.LeftThumbStickLeft()) { newDirection = Math.PI * 0.75; } else { newDirection = Math.PI * 0.5; } } else if (Keyboard.GetState().IsKeyDown(Keys.D) || MouseKeyboardManager.LeftThumbStickRight()) { walking = true; { newDirection = 0; } } else if (Keyboard.GetState().IsKeyDown(Keys.A) || MouseKeyboardManager.LeftThumbStickLeft()) { walking = true; { newDirection = Math.PI; } } return(newDirection); }
public override void Update(GameTime gameTime, ref States state, ref Character unused) { if (MouseKeyboardManager.Clicked(Keys.P)) { if (state == States.Pause) { state = States.FFA; } else { state = States.Pause; } } if (playerManager.GameOverCheck()) { if (networkManager.Players.FirstOrDefault(p => p.Username == networkManager.Username).Score >= 3) { state = States.Win; Game1.LocalWin = true; } else { state = States.Win; Game1.LocalWin = false; } } networkManager.Active = networkManager.Status == NetConnectionStatus.Connected; networkManager.Update(); playerManager.UpdatePlayer(); abilityManager.Update(player); userInterfaceManagerHealth.UpdateGameplayLoop(); MouseKeyboardManager.Update(); currentLevel.Update(); }
public void UpdateWeapon(SpriteEffects fx) { UpdateMiddleOfSprite(); currentAnimation.Update(); if (fx == SpriteEffects.FlipHorizontally) { weaponPosition.X = middleOfSprite.X - weaponOffsetX; currentAnimation.SpriteFX = SpriteEffects.FlipVertically; } else { weaponPosition.X = middleOfSprite.X + weaponOffsetX; currentAnimation.SpriteFX = SpriteEffects.None; } weaponPosition.Y = middleOfSprite.Y + weaponOffsetY; MouseState mousePosition = Mouse.GetState(); orbiterRotation = UpdateOrbiterRotation(); cooldownTimer += (float)Game1.elapsedGameTimeSeconds; if (!shooting && cooldownTimer >= shootingCooldown && !Stunned && ((MouseKeyboardManager.LeftHold) || MouseKeyboardManager.Pressed(Buttons.RightTrigger))) { PrepareShooting(); cooldownTimer = 0.0f; } if (shooting) { shootingDelayTimer -= Game1.elapsedGameTimeSeconds; if (shootingDelayTimer <= 0) { shooting = false; ChangeAnimation(ref currentAnimation, weaponAnim); Shoot(); } } }