using System.Collections.Generic; using System.Linq; namespace DunGen { public class DungeonGraph { public readonly List Nodes = new List(); public readonly List Connections = new List(); public DungeonGraph(Dungeon dungeon, IEnumerable additionalTiles) { Dictionary nodeMap = new Dictionary(); var allTiles = dungeon.AllTiles.Concat(additionalTiles); foreach (var tile in allTiles) { var node = new DungeonGraphNode(tile); nodeMap[tile] = node; Nodes.Add(node); } foreach (var conn in dungeon.Connections) { var nodeConn = new DungeonGraphConnection(nodeMap[conn.A.Tile], nodeMap[conn.B.Tile], conn.A, conn.B); Connections.Add(nodeConn); } } } }