private int updateKeyboardInput() { int cState = consoleState(); if (cState != Constants.CMD_NEW && cState != Constants.CMD_NONE) { return(cState); } if (Keyboard.GetState().IsKeyDown(Keys.P)) { return(Constants.CMD_PAUSE); } if (Keyboard.GetState().IsKeyDown(Keys.J) && world.mapID != 0) { return(Constants.CMD_MISSIONINFO); } #region DEBUG commands if (Constants.DEBUG) { if (Keyboard.GetState().IsKeyDown(Keys.L)) { Console.WriteLine("Paused"); } if (Keyboard.GetState().IsKeyDown(Keys.U)) { world.warp(1, 1); camera.reset(); return(Constants.CMD_NONE); } if (Keyboard.GetState().IsKeyDown(Keys.Z)) { world.warp(0, 0); camera.reset(); return(Constants.CMD_NONE); } if (Keyboard.GetState().IsKeyDown(Keys.R)) { data.player.level = 20; data.missions.clear(); //data.missions.mainMission.level = 0; //data.missions.generate(1); } if (Keyboard.GetState().IsKeyDown(Keys.F)) { data.player.health = data.player.maxHealth; data.player.myWeapon.reload(); } } #endregion return(Constants.CMD_NONE); }
/// <summary> /// Allows the game to run logic such as updating the world, /// checking for collisions, gathering input, and playing audio. /// </summary> /// <param name="gameTime">Provides a snapshot of timing values.</param> protected override void Update(GameTime gameTime) { // Allows the game to exit if (Constants.DEBUG && (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed || Keyboard.GetState().IsKeyDown(Keys.Tab))) { this.Exit(); } if (fading) //is fading at the moment { if (fade()) //if fade ends { if (fadeOut) //if fading out { if (nextScreen == myAction) { if (screen.nextZone != world.mapID) { world.warp(screen.nextZone, screen.nextTheme); world.setupSpawners(data.missions.activeMission); audio.playBackground(screen.nextTheme); } myAction.reset(); myAction.update(gameTime); camera.reset(); data.player.update(gameTime, data.npcs, data.bullets, camera, false); camera.Update(gameTime, data.player.position); } screen = nextScreen; fadeFrames = maxFadeFrames; fadeOut = false; } else //if fading in { fading = false; } } } else { int updateState = screen.update(gameTime); switch (updateState) { case Constants.CMD_EXIT: Exit(); break; case Constants.CMD_NONE: break; case Constants.CMD_NEW: { nextScreen = myAction; fading = true; fadeFrames = maxFadeFrames; fadeOut = true; //myAction.reset(); break; } case Constants.CMD_PAUSE: screen = new PauseScreen(Content, GraphicsDevice, audio, data, world, camera); break; case Constants.CMD_JOURNAL: screen = new BriefingScreen(Content, GraphicsDevice, audio, data, world, camera); break; case Constants.CMD_MOD: screen = new ModificationScreen(Content, GraphicsDevice, audio, data, world, camera); break; case Constants.CMD_MISSIONCOMPLETE: screen = new MissionCompleteScreen(Content, GraphicsDevice, audio, data, world, camera); break; case Constants.CMD_BACK: { screen = myAction; myAction.canShoot = false; break; } case Constants.CMD_MISSIONINFO: screen = new MissionInfoScreen(Content, GraphicsDevice, audio, data, world, camera); break; case Constants.CMD_INTRO: screen = new IntroductionScreen(Content, GraphicsDevice, audio, data, spriteBatch); break; case Constants.CMD_DEX: screen = new DexScreen(Content, GraphicsDevice, data, audio, world, camera); break; case Constants.CMD_CREDITS: screen = new CreditsScreen(Content, GraphicsDevice, audio, data); break; case Constants.CMD_TITLE: screen = new TitleScreen(Content, GraphicsDevice, audio, data); break; case Constants.CMD_GAMEOVER: screen = new GameOverScreen(Content, GraphicsDevice, audio, data, world, camera); break; case Constants.CMD_CHARINFO: screen = new CharScreen(Content, GraphicsDevice, audio, data, world, camera); break; case Constants.CMD_HELP: { if (screen is TitleScreen) { screen = new HelpScreen(Content, GraphicsDevice, audio, data, Constants.CMD_TITLE); } else if (screen is PauseScreen) { screen = new HelpScreen(Content, GraphicsDevice, audio, data, Constants.CMD_PAUSE); } else if (screen is DexScreen) { screen = new HelpScreen(Content, GraphicsDevice, audio, data, Constants.CMD_DEX); } else if (screen is MissionCompleteScreen) { screen = new HelpScreen(Content, GraphicsDevice, audio, data, Constants.CMD_MISSIONCOMPLETE); } else if (screen is MissionInfoScreen) { screen = new HelpScreen(Content, GraphicsDevice, audio, data, Constants.CMD_MISSIONINFO); } else if (screen is CharScreen) { screen = new HelpScreen(Content, GraphicsDevice, audio, data, Constants.CMD_CHARINFO); } else if (screen is BriefingScreen) { screen = new HelpScreen(Content, GraphicsDevice, audio, data, Constants.CMD_JOURNAL); } break; } case Constants.CMD_STORY: screen = new StoryScreen(Content, GraphicsDevice, audio, data, spriteBatch); break; default: break; } if (updateState != Constants.CMD_NONE) { Mouse.SetPosition(512, 384); } audio.update(); } base.Update(gameTime); }