Exemplo n.º 1
0
 private static List <NeighbourNode> GetAdjacentNodes(GraphNode source,
                                                      EdgeDirection?entryPoint,
                                                      Dictionary <int, ComponentEntityTuple <GraphNode, Connection, MovementCost> > connections)
 {
     return(source.ExitPositions
            .Select(connection => new NeighbourNode()
     {
         NodeId = connections[connection.Key].Component1.ExitPositions.Keys.Single(),
         ConnectionCost = (int)connections[connection.Key].Component3.Value,
         TraversalCost = entryPoint?.PositionsToExit(connection.Value.FromPosition(SimulationConstants.SubsystemPositions)) ?? 0
     })
            .ToList());
 }