public void updatePerformanceReport() { dungeonDropdown.ClearOptions(); int count = PerformanceController.getReportsCount(); List <string> options = new List <string>(); for (int i = 0; i < count; i++) { options.Add(i.ToString()); } dungeonDropdown.AddOptions(options); PerformanceController.DungeonPerformanceReport report = PerformanceController.getReportByIndex(0); selRoom.text = report.rooms.ToString(); selCorridor.text = report.corridors.ToString(); selBlocks.text = report.block.ToString(); selEaT.text = report.misc.ToString(); selTotal.text = (report.rooms + report.corridors + report.block + report.misc).ToString(); report = PerformanceController.getReportByIndex(PerformanceController.getReportsCount() - 1); lastRoom.text = report.rooms.ToString(); lastCorridor.text = report.corridors.ToString(); lastBlocks.text = report.block.ToString(); lastEaT.text = report.misc.ToString(); lastTotal.text = (report.rooms + report.corridors + report.block + report.misc).ToString(); report = new PerformanceController.DungeonPerformanceReport(); float avgeTotal = 0; for (int i = 0; i < count; i++) { PerformanceController.DungeonPerformanceReport curReport = PerformanceController.getReportByIndex(i); report.rooms += curReport.rooms; report.corridors += curReport.corridors; report.block += curReport.block; report.misc += curReport.misc; avgeTotal += curReport.rooms + curReport.corridors + curReport.block + curReport.misc; } report.rooms /= count; report.corridors /= count; report.block /= count; report.misc /= count; avgeTotal /= count; avgRoom.text = report.rooms.ToString(); avgCorridor.text = report.corridors.ToString(); avgBlocks.text = report.block.ToString(); avgEaT.text = report.misc.ToString(); avgTotal.text = avgeTotal.ToString(); }
public void handleReportDropDown(int option) { option = dungeonDropdown.value; PerformanceController.DungeonPerformanceReport report = PerformanceController.getReportByIndex(option); selRoom.text = report.rooms.ToString(); selCorridor.text = report.corridors.ToString(); selBlocks.text = report.block.ToString(); selEaT.text = report.misc.ToString(); selTotal.text = (report.rooms + report.corridors + report.block + report.misc).ToString(); }
void generateDungeon() { // Dungeon GO dungeon = new GameObject(); dungeon.name = "Dungeon"; // Corridors GO corridors = new GameObject(); corridors.name = "Corridors"; corridors.transform.SetParent(dungeon.transform); // Create starting node mainNode = new DungeonNode(); mainNode.nodeLevel = 0; mainNode.startX = 0; mainNode.startZ = 0; mainNode.endX = dungeonWidth; mainNode.endZ = dungeonDepth; mainNode.NodeId = 'A'; mainNode.nodeGameObject = new GameObject(); mainNode.nodeGameObject.name = "Nodo A"; mainNode.nodeGameObject.transform.SetParent(dungeon.transform); dungeonNodes.Add(mainNode); PerformanceController.DungeonPerformanceReport report = new PerformanceController.DungeonPerformanceReport(); // Generamos el grafo System.DateTime date = System.DateTime.Now; generateDungeonGraph(mainNode); // Creamos las salas a partir del grafo createRoomsFromGraph(); report.rooms += (float)(System.DateTime.Now - date).TotalMilliseconds; // Inicializamos el diccionario initDungeonCells(); // Creamos lo pasillos entre las salas date = System.DateTime.Now; createCorridorsInBetweenNodes(); report.corridors += (float)(System.DateTime.Now - date).TotalMilliseconds; // Spawn Rooms date = System.DateTime.Now; spawnRooms(); report.rooms += (float)(System.DateTime.Now - date).TotalMilliseconds; // Spawn corridors date = System.DateTime.Now; spawnCorridors(); report.corridors += (float)(System.DateTime.Now - date).TotalMilliseconds; // Buscamos intersecciones date = System.DateTime.Now; generateDungeonBlocks(); report.block += (float)(System.DateTime.Now - date).TotalMilliseconds; date = System.DateTime.Now; placeTreasureRooms(); placeEnemies(); report.misc += (float)(System.DateTime.Now - date).TotalMilliseconds; PerformanceController.addReport(report); }