Exemplo n.º 1
0
Arquivo: Graph.cs Projeto: Foxion7/AI
        /// <summary>
        /// this will only work if both nodes are already in the graph, it won't! add them.
        /// </summary>
        /// <param name="start"></param>
        /// <param name="end"></param>
        /// <param name="value"></param>
        /// <returns>the edge if it is created, null otherwise</returns>
        public GraphEdge <T> createEdge(GraphNode <T> start, GraphNode <T> end, float value = 1)
        {
            if (start != null && end != null)
            {
                var edge = new GraphEdge <T>(start, end, value);
                start.AddEdgeTwoWay(edge);
                end.AddEdgeTwoWay(edge);
                _edges.Add(edge);
                return(edge);
            }

            return(null);
        }
Exemplo n.º 2
0
Arquivo: Graph.cs Projeto: Foxion7/AI
        /// <summary>
        /// this will only work if both values are already in the graph, it won't! add them.
        /// </summary>
        /// <param name="start"></param>
        /// <param name="end"></param>
        /// <param name="value"></param>
        /// <returns>the created edge, if it exist, otherwise null</returns>
        public GraphEdge <T> createEdge(T start, T end, float value = 1)
        {
            if (_nodes[start] != null && _nodes[end] != null)
            {
                var edge = new GraphEdge <T>(_nodes[start], _nodes[end], value);
                _nodes[start].AddEdgeTwoWay(edge);
                _nodes[end].AddEdgeTwoWay(edge);
                _edges.Add(edge);
                return(edge);
            }

            return(null);
        }