Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        //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);
        }
Exemplo n.º 3
0
        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();
                }
            }
        }