public MenuState(IStateSpace space, Camera camera, ContentManager content, GraphicsDeviceManager graphics, IState prevState = null, MouseState mouseState = new MouseState(), GamePadState gamePadState = new GamePadState(), KeyboardState keyboardState = new KeyboardState(), DungeonInfo saveInfo = null) { this.Content = new ContentManager(content.ServiceProvider, "Content"); Graphics = graphics; PrevMouseState = mouseState; PrevGamepadState = gamePadState; PrevKeyboardState = keyboardState; StateComponents = saveInfo == null ? new StateComponents() : saveInfo.stateComponents; SetStateSpace(space, camera, saveInfo == null); previousState = prevState; }
public RandomlyGeneratedStateSpace(DungeonInfo data) { stateSpaceComponents = data.stateSpaceComponents; dungeonSpriteFile = data.dungeonSpriteFile; dungeonGrid = data.dungeonGrid; dungeonColorInfo = data.dungeonColorInfo; dungeonDimensions = data.dungeonDimensions; freeTiles = data.freeTiles; PlayerComponent player = stateSpaceComponents.PlayerComponent; player.PlayerJustLoaded = true; stateSpaceComponents.PlayerComponent = player; }
public PlayingState(IStateSpace space, Camera camera, ContentManager content, GraphicsDeviceManager graphics, IState prevState = null, MouseState mouseState = new MouseState(), GamePadState gamePadState = new GamePadState(), KeyboardState keyboardState = new KeyboardState(), DungeonInfo saveInfo = null) { this.Content = new ContentManager(content.ServiceProvider, "Content"); Graphics = graphics; PrevMouseState = mouseState; PrevGamepadState = gamePadState; PrevKeyboardState = keyboardState; SkillLevelsComponent newPlayerStats = new SkillLevelsComponent() { CurrentHealth = 100, Health = 100, Accuracy = 100, Defense = 10, Wealth = 0, MinimumDamage = 1, MaximumDamage = 3, DieNumber = 1 }; StateComponents = saveInfo == null ? new StateComponents() { PlayerSkillLevels = newPlayerStats } : saveInfo.stateComponents; SetStateSpace(space, camera, saveInfo == null); previousState = prevState; }
public static void LoadDungeonData(ref DungeonInfo data) { Directory.CreateDirectory(FileNames.DungeonDirectory); if(File.Exists(FileNames.DungeonSaveFile)) { try { using (StreamReader fs = File.OpenText(FileNames.DungeonSaveFile)) { JsonSerializer js = new JsonSerializer(); data = (DungeonInfo)js.Deserialize(fs, typeof(DungeonInfo)); } } catch { data = null; } } else { data = null; } }
public static void SaveDungeonData(DungeonInfo data) { Directory.CreateDirectory(FileNames.DungeonDirectory); string jsonData = JsonConvert.SerializeObject(data); File.WriteAllText(FileNames.DungeonSaveFile, jsonData); }