Esempio n. 1
0
    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();
    }
Esempio n. 2
0
    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();
    }
Esempio n. 3
0
    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);
    }