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);
        }
Beispiel #2
0
 /// <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();
 }
Beispiel #3
0
        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;
            }
        }
Beispiel #4
0
        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);
        }
Beispiel #5
0
        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();
                }
            });
        }
Beispiel #6
0
        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();
                }
            });
        }
Beispiel #7
0
 public void Load()
 {
     GameSaveHandler.LoadFile("player_inventory", ItemHolder);
     onInventoryItemsUpdated.Raise();
 }
Beispiel #8
0
 public void Save() => GameSaveHandler.SaveFile("player_inventory", ItemHolder);