public static void BackToGame() { Screen game = ScreenManager.getScreen(ScreenId.Game); game.setState(true); foreach (Screen s in ScreenManager.screenIterator()) { if (s is PopUpScreen) { s.setDraw(false); s.setUpdate(true); } } PauseScreen pause = (PauseScreen)ScreenManager.getScreen(ScreenId.Pause); pause.setDraw(false); pause.setUpdate(true); pause.escPressed = false; if (pause.isPaused()) { pause.togglePause(); } InventoryScreen stats = (InventoryScreen)ScreenManager.getScreen(ScreenId.Inventory); stats.setUpdate(true); stats.buttonPressed = false; }
public static void Save(bool print) { if (!Directory.Exists(@".\saves")) { Directory.CreateDirectory(@".\saves"); } try { GameScreen game = (GameScreen)ScreenManager.getScreen(ScreenId.Game); if (game.Player != null) { Stream stream = File.Open(@".\saves\save1.save", FileMode.Create); BinaryFormatter formatter = new BinaryFormatter(); formatter.Serialize(stream, game.Player); stream.Close(); if (print) { MessageBox.Show("Saved successfully"); } } else if (print) { MessageBox.Show("No player to save"); } } catch (Exception ex) { MessageBox.Show("Error: " + ex.Message); } }
public override void setUpdate(bool val) { base.setUpdate(val); if (val) { player = ((GameScreen)ScreenManager.getScreen(ScreenId.Game)).Player; } }
public static void MainMenuHelp() { MenuItemFunctions.ClosePopups(); Screen help = ScreenManager.getScreen(ScreenId.MainMenuHelp); help.setState(true); }
public static void ReturnInput() { InputScreen input = (InputScreen)ScreenManager.getScreen(ScreenId.Input); input.returnInput(); BackToGame(); }
public static void MainMenu() { MenuItemFunctions.ClosePopups(); MenuItemFunctions.Save(false); Screen mainMenu = ScreenManager.getScreen(ScreenId.MainMenu); mainMenu.setState(true); }
public static void MainMenuHelp() { // Close all foreach (Screen s in ScreenManager.screenIterator()) { s.DoDraw = s.DoUpdate = false; } Screen help = ScreenManager.getScreen(ScreenId.MainMenuHelp); help.DoDraw = help.DoUpdate = true; }
public static void MainMenu() { // Close all foreach (Screen s in ScreenManager.screenIterator()) { s.DoDraw = s.DoUpdate = false; } MenuItemFunctions.Save(false); Screen mainMenu = ScreenManager.getScreen(ScreenId.MainMenu); mainMenu.DoUpdate = mainMenu.DoDraw = true; }
public static void Play() { Screen mainmenu = ScreenManager.getScreen(ScreenId.MainMenu); mainmenu.setState(false); GameScreen game = (GameScreen)ScreenManager.getScreen(ScreenId.Game); InputScreen input = (InputScreen)ScreenManager.getScreen(ScreenId.Input); // This function will be called to initialize the game screens and create the player with the inputed name input.setTitle("Input Name:"); input.setAction(game.init); input.setState(true); }
public static void Load() { Screen mainmenu = ScreenManager.getScreen(ScreenId.MainMenu); mainmenu.setUpdate(false); if (!Directory.Exists(@".\saves")) { Directory.CreateDirectory(@".\saves"); } try { Stream stream = File.Open(@".\saves\save1.save", FileMode.Open); if (stream != null) { GameScreen game = (GameScreen)ScreenManager.getScreen(ScreenId.Game); BinaryFormatter formatter = new BinaryFormatter(); game.Player = (Player)formatter.Deserialize(stream); game.Player.newMainRoom(); stream.Close(); mainmenu.setDraw(false); BackToGame(); } else { throw new FileNotFoundException(); } } catch (FileNotFoundException) { MessageBox.Show("No save found"); } catch (SerializationException) { MessageBox.Show("Failed to load, save file corrupted."); } catch (Exception ex) { MessageBox.Show("Error: " + ex.Message); } // Do draw is set to false if load was successful, otherwise it will still be true mainmenu.setUpdate(mainmenu.doDraw()); }
public override void Update(GameTime gTime) { KeyboardState kb = Keyboard.GetState(); if (kb.IsKeyDown(Keys.Escape)) { escPressed = true; } else if (escPressed) { escPressed = false; togglePause(); // If paused draw this and not game DoDraw = paused; ScreenManager.getScreen(ScreenId.Game).DoUpdate = !paused; ScreenManager.getScreen(ScreenId.Inventory).DoUpdate = !paused; } if (isPaused()) { base.Update(gTime); } }
public override void Update(GameTime gTime) { MouseState ms = Mouse.GetState(); if (ScreenManager.kbState.IsKeyDown(Keys.I)) { buttonPressed = true; } else if (buttonPressed) { buttonPressed = false; toggleDrawing(); // If paused draw this and not game ScreenManager.getScreen(ScreenId.Game).DoUpdate = !DoDraw; ScreenManager.getScreen(ScreenId.Pause).DoUpdate = !DoDraw; } hoverOver = null; foreach (ItemBlock ib in itemBlocks) { if (ib.Item != null && ib.IsOn(ms)) { if (player.Alive) { if (oldMouse.LeftButton == ButtonState.Pressed && ms.LeftButton == ButtonState.Released) { ib.Action(player); } else if (oldMouse.RightButton == ButtonState.Pressed && ms.RightButton == ButtonState.Released) { player.removeItem(ib.Item); player.GScreen.TileMap.dropItem(ib.Item, player); } } hoverOver = ib; break; } } Point p = new Point(ms.X, ms.Y); if (helmRect.Contains(p)) { if (player.Alive && oldMouse.RightButton == ButtonState.Pressed && ms.RightButton == ButtonState.Released) { player.addItem(player.Equipment.Head.Item); player.Equipment.setHead(null); } else if (player.Equipment.Head != null) { hoverOver = new ItemBlock(player.Equipment.Head.Item); } } else if (bodyRect.Contains(p)) { if (player.Alive && oldMouse.RightButton == ButtonState.Pressed && ms.RightButton == ButtonState.Released) { player.addItem(player.Equipment.Body.Item); player.Equipment.setBody(null); } else if (player.Equipment.Body != null) { hoverOver = new ItemBlock(player.Equipment.Body.Item); } } else if (legsRect.Contains(p)) { if (player.Alive && oldMouse.RightButton == ButtonState.Pressed && ms.RightButton == ButtonState.Released) { player.addItem(player.Equipment.Legs.Item); player.Equipment.setLegs(null); } else if (player.Equipment.Legs != null) { hoverOver = new ItemBlock(player.Equipment.Legs.Item); } } oldMouse = ms; base.Update(gTime); }
public override void Update(GameTime gTime) { MouseState ms = Mouse.GetState(); KeyboardState kb = ScreenManager.kbState; if (kb.IsKeyDown(Keys.I)) { buttonPressed = true; } else if (buttonPressed) { buttonPressed = false; toggleDrawing(); // If paused draw this and not game ScreenManager.getScreen(ScreenId.Game).setUpdate(!this.doDraw()); ScreenManager.getScreen(ScreenId.Pause).setUpdate(!this.doDraw()); } // Stuff that only happens if open if (this.doDraw()) { hoverOver = null; Item oldHeldItem = heldItem; for (int idx = 0; idx < itemBlocks.Length; idx++) { ItemBlock ib = itemBlocks[idx]; if (ib.IsOn(ms)) { if (player.Alive) { if (oldMouse.LeftButton == ButtonState.Pressed && ms.LeftButton == ButtonState.Released) { if (heldItem == null) { heldItem = ib.Item; player.removeItem(ib.Item); } else { // Pickup the old item heldItem = player.setItemAt(idx, heldItem); } } else if (oldMouse.RightButton == ButtonState.Pressed && ms.RightButton == ButtonState.Released) { ib.Action(player); } } hoverOver = ib; break; } } // Holding an item and clicked not on slot if (heldItem != null && heldItem == oldHeldItem && oldMouse.LeftButton == ButtonState.Pressed && ms.LeftButton == ButtonState.Released) { player.Map.dropItem(heldItem, player); heldItem = null; } Point p = new Point(ms.X, ms.Y); if (helmRect.Contains(p)) { if (player.Alive && oldMouse.RightButton == ButtonState.Pressed && ms.RightButton == ButtonState.Released) { player.addItem(player.Equipment.Head.Item); player.Equipment.setHead(null); } else if (player.Equipment.Head != null) { hoverOver = new ItemBlock(player.Equipment.Head.Item); } } else if (bodyRect.Contains(p)) { if (player.Alive && oldMouse.RightButton == ButtonState.Pressed && ms.RightButton == ButtonState.Released) { player.addItem(player.Equipment.Body.Item); player.Equipment.setBody(null); } else if (player.Equipment.Body != null) { hoverOver = new ItemBlock(player.Equipment.Body.Item); } } else if (legsRect.Contains(p)) { if (player.Alive && oldMouse.RightButton == ButtonState.Pressed && ms.RightButton == ButtonState.Released) { player.addItem(player.Equipment.Legs.Item); player.Equipment.setLegs(null); } else if (player.Equipment.Legs != null) { hoverOver = new ItemBlock(player.Equipment.Legs.Item); } } } oldMouse = ms; base.Update(gTime); }