Exemple #1
0
        public static PrototypeDungeonRoom GetRoomFromDungeon(string roomName, string floor)
        {
            roomName = roomName.ToLower();
            var rooms = GetRoomsFromRoomTables(floor);

            foreach (var room in rooms)
            {
                Tools.Log(room.name, "roomnames.txt");
                if (room.name.ToLower().Equals(roomName))
                {
                    return(room);
                }
            }
            var nodes = OfficialFlows.GetAllFlowNodes(floor);

            if (nodes == null)
            {
                return(null);
            }
            foreach (var node in nodes)
            {
                var overrideRoom = node.overrideExactRoom;

                if (overrideRoom != null)
                {
                    Tools.Log(overrideRoom.name, "roomnames.txt");
                }
                if (overrideRoom != null && overrideRoom.name.ToLower().Equals(roomName))
                {
                    return(overrideRoom);
                }
            }
            return(null);
        }
Exemple #2
0
        // Token: 0x0600002A RID: 42 RVA: 0x00003E08 File Offset: 0x00002008
        public static DungeonFlowNode GetNodeFromDungeon(string roomName, string floor)
        {
            roomName = roomName.ToLower();
            List <DungeonFlowNode> allFlowNodes = OfficialFlows.GetAllFlowNodes(floor);
            bool            flag = allFlowNodes == null;
            DungeonFlowNode result;

            if (flag)
            {
                result = null;
            }
            else
            {
                foreach (DungeonFlowNode dungeonFlowNode in allFlowNodes)
                {
                    PrototypeDungeonRoom overrideExactRoom = dungeonFlowNode.overrideExactRoom;
                    bool flag2 = overrideExactRoom != null && overrideExactRoom.name.ToLower().Equals(roomName);
                    if (flag2)
                    {
                        return(dungeonFlowNode);
                    }
                }
                result = null;
            }
            return(result);
        }
Exemple #3
0
        // Token: 0x0600002B RID: 43 RVA: 0x00003EAC File Offset: 0x000020AC
        public static List <DungeonFlowNode> GetAllFlowNodes(string floor)
        {
            Dungeon dungeonPrefab           = OfficialFlows.GetDungeonPrefab(floor);
            List <DungeonFlowNode> allNodes = dungeonPrefab.PatternSettings.flows[0].AllNodes;

            for (int i = 1; i < dungeonPrefab.PatternSettings.flows.Count; i++)
            {
                allNodes.Concat(dungeonPrefab.PatternSettings.flows[i].AllNodes);
            }
            return(allNodes);
        }
Exemple #4
0
        // Token: 0x06000026 RID: 38 RVA: 0x00003BD4 File Offset: 0x00001DD4
        public static List <PrototypeDungeonRoom> GetRoomsFromRoomTables(string floor)
        {
            Dungeon dungeon = OfficialFlows.GetDungeonPrefab(floor);
            List <PrototypeDungeonRoom> list = new List <PrototypeDungeonRoom>();

            for (int i = 0; i < dungeon.PatternSettings.flows.Count; i++)
            {
                foreach (WeightedRoom weightedRoom in dungeon.PatternSettings.flows[i].fallbackRoomTable.includedRooms.elements)
                {
                    list.Add(weightedRoom.room);
                }
            }
            dungeon = null;
            return(list);
        }
Exemple #5
0
        public static DungeonFlowNode GetNodeFromDungeon(string roomName, string floor)
        {
            roomName = roomName.ToLower();
            var nodes = OfficialFlows.GetAllFlowNodes(floor);

            if (nodes == null)
            {
                return(null);
            }
            foreach (var node in nodes)
            {
                var overrideRoom = node.overrideExactRoom;
                if (overrideRoom != null && overrideRoom.name.ToLower().Equals(roomName))
                {
                    return(node);
                }
            }
            return(null);
        }
Exemple #6
0
        // Token: 0x06000028 RID: 40 RVA: 0x00003CA8 File Offset: 0x00001EA8
        public static PrototypeDungeonRoom GetRoomFromDungeon(string roomName, string floor)
        {
            roomName = roomName.ToLower();
            List <PrototypeDungeonRoom> roomsFromRoomTables = OfficialFlows.GetRoomsFromRoomTables(floor);

            foreach (PrototypeDungeonRoom prototypeDungeonRoom in roomsFromRoomTables)
            {
                Tools.Log <string>(prototypeDungeonRoom.name, "roomnames.txt");
                bool flag = prototypeDungeonRoom.name.ToLower().Equals(roomName);
                if (flag)
                {
                    return(prototypeDungeonRoom);
                }
            }
            List <DungeonFlowNode> allFlowNodes = OfficialFlows.GetAllFlowNodes(floor);
            bool flag2 = allFlowNodes == null;
            PrototypeDungeonRoom result;

            if (flag2)
            {
                result = null;
            }
            else
            {
                foreach (DungeonFlowNode dungeonFlowNode in allFlowNodes)
                {
                    PrototypeDungeonRoom overrideExactRoom = dungeonFlowNode.overrideExactRoom;
                    bool flag3 = overrideExactRoom != null;
                    if (flag3)
                    {
                        Tools.Log <string>(overrideExactRoom.name, "roomnames.txt");
                    }
                    bool flag4 = overrideExactRoom != null && overrideExactRoom.name.ToLower().Equals(roomName);
                    if (flag4)
                    {
                        return(overrideExactRoom);
                    }
                }
                result = null;
            }
            return(result);
        }
Exemple #7
0
 // Token: 0x06000027 RID: 39 RVA: 0x00003C88 File Offset: 0x00001E88
 public static List <PrototypeDungeonRoom> GetRoomsFromRoomTables(int floor)
 {
     return(OfficialFlows.GetRoomsFromRoomTables(OfficialFlows.dungeonPrefabNames[floor]));
 }
Exemple #8
0
 // Token: 0x0600002C RID: 44 RVA: 0x00003F20 File Offset: 0x00002120
 public static List <DungeonFlowNode> GetAllFlowNodes(int floor)
 {
     return(OfficialFlows.GetAllFlowNodes(OfficialFlows.dungeonPrefabNames[floor]));
 }
Exemple #9
0
 // Token: 0x06000029 RID: 41 RVA: 0x00003DE8 File Offset: 0x00001FE8
 public static PrototypeDungeonRoom GetRoomFromDungeon(string roomName, int floor)
 {
     return(OfficialFlows.GetRoomFromDungeon(roomName, OfficialFlows.dungeonPrefabNames[floor]));
 }