public static DungeonFlow CreateBranchingThesisFlow(Dungeon dungeon)
        {
            DungeonFlow dungeonFlow = SampleFlow.CreateNewFlow(dungeon);

            dungeonFlow.name = "thesis_flow_branching";

            DungeonFlowNode parent = null;

            if (Module.Debug)
            {
                parent = MakeNode(LoadRoom("lobby.room"), dungeonFlow);
            }
            else
            {
                parent = MakeNode(LoadRoom("lobby_.room"), dungeonFlow);
            }

            dungeonFlow.FirstNode = parent;
            dungeonFlow.AddNodeToFlow(parent, null);

            AppendBossRoom(dungeonFlow, parent);

            if (Module.Debug)
            {
                ThesisFloorGenerator.AppendRoom(dungeonFlow, parent, "a1_legendarychests.room");
            }

            AppendBossRoom(dungeonFlow, parent);

            AppendBossRoom(dungeonFlow, parent);

            dungeon = null;
            return(dungeonFlow);
        }
        public static DungeonFlow CreateSequentialThesisFlow(Dungeon dungeon)
        {
            DungeonFlow dungeonFlow = CreateEntranceFlow(dungeon);

            dungeonFlow.name = "thesis_flow_sequential";

            DungeonFlowNode parent = dungeonFlow.FirstNode;

            ThesisFloorGenerator.AppendRoom(dungeonFlow, parent, "a1_legendarychests.room");

            parent = ThesisFloorGenerator.AppendRoom(dungeonFlow, parent, "b1_bossroom_gullA_test.room");

            parent = ThesisFloorGenerator.AppendRoom(dungeonFlow, parent, "c1_bufferroom.room");

            parent = ThesisFloorGenerator.AppendRoom(dungeonFlow, parent, "b1_bossroom_gullA_test.room");

            parent = ThesisFloorGenerator.AppendRoom(dungeonFlow, parent, "c1_bufferroom.room");

            parent = ThesisFloorGenerator.AppendRoom(dungeonFlow, parent, "b1_bossroom_gullA_test.room");

            parent = ThesisFloorGenerator.AppendExitElevator(dungeonFlow, parent);

            dungeon = null;
            return(dungeonFlow);
        }