public bool ShouldOpen() { if (!Open && KeyHelper.CheckTap(Keys.Escape)) { PopUpRect = new Rectangle((int)RenderHandler.ScreenOffset.X + ((int)Game.ScreenSize.X / 2) - (SizeX / 2), (int)RenderHandler.ScreenOffset.Y + ((int)Game.ScreenSize.Y / 2) - (SizeY / 2), SizeX, SizeY); menuItems.Clear(); //Exit Button menuItems.Add(new MenuItem(new Rectangle(PopUpRect.X, PopUpRect.Bottom, PopUpRect.Width, 50), Game.GameContent.Load <Texture2D>(PlayerManager.movingPlayerSprite), "Exit") { Action = () => { RenderHandler.CurrentGameState = GAMESTATE.MAINMENU; GameSaveHandler.CreateSave(((PlayerManager)Game.PlayerCharacter.Manager).CurrentSave); MenuHandler.ActiveFullScreenMenu = new GameStartMenu(); Open = false; } }); Open = true; return(true); } return(false); }
/// <summary> /// Allows the game to perform any initialization it needs to before starting to run. /// This is where it can query for any required services and load any non-graphic /// related content. Calling base.Initialize will enumerate through any components /// and initialize them as well. /// </summary> protected override void Initialize() { //setScreenSize(graphics.GraphicsDevice.DisplayMode.Width, graphics.GraphicsDevice.DisplayMode.Height); GameSaveHandler.Initialize(); MenuHandler.ActiveFullScreenMenu = new GameStartMenu(); RenderHandler.Initialize(); this.IsMouseVisible = true; base.Initialize(); }
public void Load() { //Create a new instance of hotbar save data. HotbarSaveData hotbarSaveData = new HotbarSaveData(); //Load the hotbar data. GameSaveHandler.LoadFile("player_hotbar", hotbarSaveData); //Loop through each hotbar slot in the loaded data. foreach (HotbarSlotData hotbarSlotData in hotbarSaveData.hotbarSlotData) { //Set the slot's item to the item loaded from the hotbar save file. hotbarSlots[hotbarSlotData.slotIndex].SlotItem = hotbarSlotData.hotbarItem; } }
public void Save() { //Create a new instance of hotbar save data. HotbarSaveData hotbarSaveData = new HotbarSaveData(); //Loop through each hotbar slot. foreach (HotbarSlot hotbarSlot in hotbarSlots) { //Add the slot's data to the hotbar save data. hotbarSaveData.AddSlotData(hotbarSlot.SlotItem, hotbarSlot.SlotIndex); } //Save the hotbar data. GameSaveHandler.SaveFile("player_hotbar", hotbarSaveData); }
public void Initialize() { int LeftStart = (int)(0.05 * Game.ScreenSize.X); int YLevel = (int)(0.1 * Game.ScreenSize.Y); int i = 0; foreach (string f in Directory.GetFiles(GameSaveHandler.PathDirectory)) { GameSave save = GameSaveHandler.RetrieveGameSave(Path.GetFileName(f)); string gClass; try { gClass = save.player.Class.GetType().Name; } catch (Exception e) { gClass = "UNKNOWN"; } string DisplayText = Path.GetFileName(f) + " : " + gClass; Vector2 DisplaySize = Game.GameContent.Load <SpriteFont>(TextureHelper.Fonts.Default).MeasureString(DisplayText); saves.Add(new MenuItem(new Rectangle(LeftStart, (++i) * YLevel, (int)DisplaySize.X, (int)DisplaySize.Y), text: DisplayText) { Action = () => { GameSaveHandler.LoadSave(Path.GetFileName(f)); } }); } saves.Add(new MenuItem( new Rectangle(new Point(LeftStart, ++i * YLevel), new Point((int)(0.13 * Game.ScreenSize.X), (int)(0.05 * Game.ScreenSize.Y))), Game.GameContent.Load <Texture2D>(TextureHelper.Sprites.EnemySprite), "Back") { Action = () => { MenuHandler.ActiveFullScreenMenu = new GameStartMenu(); } }); }
public void Initialize() { player = new PlayerController(new PlayerManager()); // Caster Class Button menuItems.Add(new MenuItem( new Rectangle(new Point(LeftStart, (int)(0.3 * Game.ScreenSize.Y)), IconSize), Game.GameContent.Load <Texture2D>(PlayerManager.basePlayerSpriteName), "Caster") { Action = () => { targetClass = new Caster(); } }); // Knight Class Button menuItems.Add(new MenuItem( new Rectangle(new Point(LeftStart, (int)(0.4 * Game.ScreenSize.Y)), IconSize), Game.GameContent.Load <Texture2D>(PlayerManager.jumpingDPlayerSprite), "Knight") { Action = () => { targetClass = new Knight(); } }); // Rogue Class Button menuItems.Add(new MenuItem( new Rectangle(new Point(LeftStart, (int)(0.6 * Game.ScreenSize.Y)), IconSize), Game.GameContent.Load <Texture2D>(PlayerManager.movingPlayerSprite), "Rogue") { Action = () => { targetClass = new Rogue(); } }); // Create Save Button menuItems.Add(new MenuItem( new Rectangle(new Point(LeftStart, (int)(0.7 * Game.ScreenSize.Y)), IconSize), Game.GameContent.Load <Texture2D>(TextureHelper.Sprites.TestImage), "Create Save") { Action = () => { string saveID = GameSaveHandler.GetNextSaveID().ToString(); if (targetClass is Knight) { GameSaveHandler.CreateSave(saveID, player, new Vector2(100, 100), new CathedralRuinsFBoss(), targetClass, new Flight()); } else if (targetClass is Caster) { GameSaveHandler.CreateSave(saveID, player, new Vector2(100, 100), new CathedralRuinsFBoss(), targetClass, new Iythil()); } else if (targetClass is Rogue) { GameSaveHandler.CreateSave(saveID, player, new Vector2(100, 100), new CathedralRuinsFBoss(), targetClass, new BasicDagger()); } else { Errors = "Choose a class!"; return; } GameSaveHandler.LoadSave(saveID); } }); // Back Button menuItems.Add(new MenuItem( new Rectangle(new Point(LeftStart, (int)(0.8 * Game.ScreenSize.Y)), IconSize), Game.GameContent.Load <Texture2D>(TextureHelper.Sprites.EnemySprite), "Back") { Action = () => { MenuHandler.ActiveFullScreenMenu = new GameStartMenu(); } }); }
public void Load() { GameSaveHandler.LoadFile("player_inventory", ItemHolder); onInventoryItemsUpdated.Raise(); }
public void Save() => GameSaveHandler.SaveFile("player_inventory", ItemHolder);