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);
        }
        private static DungeonFlow CreateEntranceFlow(Dungeon dungeon)
        {
            DungeonFlow dungeonFlow = SampleFlow.CreateNewFlow(dungeon);

            dungeonFlow.name = "entrance_flow";
            DungeonFlowNode dungeonFlowNode = SampleFlow.NodeFromAssetName(dungeonFlow, "elevator entrance");

            dungeonFlow.FirstNode = dungeonFlowNode;
            dungeonFlow.AddNodeToFlow(dungeonFlowNode, null);
            dungeon = null;
            return(dungeonFlow);
        }