// Token: 0x0600108E RID: 4238 RVA: 0x00075694 File Offset: 0x00073894 private void SetupAvailableRooms() { DungeonGenerator.m_availableRooms.Clear(); foreach (DungeonDB.RoomData roomData in DungeonDB.GetRooms()) { if ((roomData.m_room.m_theme & this.m_themes) != (Room.Theme) 0 && roomData.m_room.m_enabled) { DungeonGenerator.m_availableRooms.Add(roomData); } } }
internal static void PrintDungeonDropTables() { var orderedLocations = ZoneSystem.instance.m_locations .OrderBy(x => x.m_biome) .ThenBy(x => x.m_prefabName); List <string> tableData = new(); foreach (var location in orderedLocations) { var locPrefab = location.m_prefab; if (locPrefab is null) { continue; } var dungeons = locPrefab.GetComponentsInChildren <DungeonGenerator>(); if (dungeons is not null && dungeons.Length > 0) { foreach (var dungeon in dungeons) { //Find rooms var rooms = DungeonDB.GetRooms() .Where(x => (x.m_room.m_theme & dungeon.m_themes) == x.m_room.m_theme) .ToList(); if (rooms is null) { continue; } if (rooms.Count == 0) { continue; } foreach (var room in rooms) { tableData.AddRange(Extract(room.m_room.gameObject, $"Biome: {location.m_biome.GetNames()}", $"Location: {location.m_prefabName}", $"Room Theme: {room.m_room.m_theme}", $"Room: {room.m_room.name}")); } } } } PrintDebugFile.PrintFile(tableData, "drop_that.drop_table.dungeons.txt", "drop tables for dungeons"); }
private static void ScanRooms(DungeonDB __instance, List <DungeonDB.RoomData> ___m_rooms) { #if DEBUG Log.LogDebug("Starting CreatureSpawner scan."); #endif if (___m_rooms is null) { return; } if (ConfigurationManager.GeneralConfig?.WriteCreatureSpawnersToFile?.Value == true) { #if DEBUG Log.LogDebug($"Starting CreatureSpawner file writing for {ZoneSystem.instance.m_locations.Count} location and {___m_rooms.Count} rooms."); #endif RoomCreatureSpawnerFileDumper.WriteToFile(___m_rooms); } }
public static void HackCamp() { var list = DungeonDB.GetRooms(); var go = list[0].m_room.transform.parent; var a = go.GetComponentsInChildren <CreatureSpawner>(true); //Debug.Log(a.Length); foreach (var item in a) { if (item.name.StartsWith("Spawner_Goblin")) { var c = Instantiate(PrefabList["SpawnHuman"], item.transform.parent); c.transform.localPosition = item.transform.localPosition; item.m_creaturePrefab = PrefabList["HumanMobB"]; c.name = "SpawnHuman"; //Debug.Log("hack campe"); } } //var a = ZNetScene.instance.GetPrefab("Spawner_Goblin").GetComponent<CreatureSpawner>(); //a.m_creaturePrefab=HumanTest; }
// Token: 0x0600107C RID: 4220 RVA: 0x00074C34 File Offset: 0x00072E34 private void Start() { ZLog.Log("DungeonDB Start " + Time.frameCount); this.m_rooms = DungeonDB.SetupRooms(); this.GenerateHashList(); }
public static void WriteToFile(List <ZoneSystem.ZoneLocation> zoneLocations) { List <string> spawnersSerialized = new List <string>(); var orderedLocations = zoneLocations .OrderBy(x => x.m_biome) .ThenBy(x => x.m_prefabName); foreach (var location in orderedLocations) { var locPrefab = location.m_prefab; if (locPrefab is null) { continue; } //Get location spawners var spawners = locPrefab.GetComponentsInChildren <CreatureSpawner>().ToList(); //Get location dungeon generators, so we can scan for their spawners too var dungeons = locPrefab.GetComponentsInChildren <DungeonGenerator>(); if (dungeons is not null && dungeons.Length > 0) { foreach (var dungeon in dungeons) { //Find rooms and extract spawners var rooms = DungeonDB.GetRooms().Where(x => (x.m_room.m_theme & dungeon.m_themes) == x.m_room.m_theme).ToList(); if (rooms.Count == 0) { Log.LogDebug($"No rooms for {locPrefab.name}:{dungeon.name}"); } var roomSpawners = rooms .SelectMany(x => x.m_room.GetComponentsInChildren <CreatureSpawner>()) .Where(x => x is not null) .ToList(); if (roomSpawners.Count > 0) { if (spawners is null) { spawners = roomSpawners; } else { spawners.AddRange(roomSpawners); } } else { Log.LogDebug($"No room spawners for {locPrefab.name}:{dungeon.name}"); } } } if (spawners is not null && spawners.Count > 0) { spawnersSerialized.Add(Serialize(location, spawners)); } } DebugFileWriter.WriteFile(spawnersSerialized, FileName, "local spawner configurations"); }
//class constructor public HomeController(UserManager <AppUser> userManager, DungeonDB context) { _userManager = userManager; _context = context; }