public static void CreateDungeons() { dungeonDictionary = new Dictionary <DungeonId, DungeonData>(); //use this line to read from a json file //DungeonMap map = Utils.LoadJsonFromPath<DungeonMap>("data/dungeon_data"); //instead, create the data manually var castle = new DungeonRow() { id = "CASTLE", bossesPerArea = 2, minibossesPerBoss = 1, battlesPerArea = 20, hpIncreasePerArea = 13, atkIncreasePerArea = 2, battleLimit = 0, areas = new string[] { "CAVERNS", "JAIL", "KITCHEN", "ARMORY", "THRONE_ROOM" } }; DungeonMap map = new DungeonMap(); map.dungeons = new DungeonRow[] { castle }; DungeonRow row; DungeonData tempDungeon; for (int i = 0; i < map.dungeons.Length; i++) { row = map.dungeons[i]; DungeonId parsedType = (DungeonId)Enum.Parse(typeof(DungeonId), row.id); tempDungeon = new DungeonData(parsedType); tempDungeon.SetBattleConstraints(row.bossesPerArea, row.minibossesPerBoss, row.battlesPerArea, row.hpIncreasePerArea, row.atkIncreasePerArea, row.battleLimit); tempDungeon.SetAreas(row.areas); dungeonDictionary.Add(tempDungeon.type, tempDungeon); } areaMusicIds = new Dictionary <AdventureArea, string>(); areaMusicIds[AdventureArea.CAVERNS] = "stage_1"; areaMusicIds[AdventureArea.JAIL] = "jail"; areaMusicIds[AdventureArea.KITCHEN] = "kitchen"; areaMusicIds[AdventureArea.ARMORY] = "stage_2"; areaMusicIds[AdventureArea.THRONE_ROOM] = "throne_room"; areaMusicIds[AdventureArea.ARENA] = "stage_2"; }