private IEnumerable <SituationEdge <T> > GetLoopedEdges(ISituationNode <T> Node) { foreach (SituationEdge <T> edge in Node.Edges) { if (edge.TargetNode == Node) { yield return(edge); } } }
public SituationEdge(IRule <T> Rule, ISituationPredicate <T> Predicate, ISituationNode <T> TargetNode) { if (Rule == null) { throw new ArgumentNullException("Rule"); } if (Predicate == null) { throw new ArgumentNullException("Predicate"); } if (TargetNode == null) { throw new ArgumentNullException("TargetNode"); } this.Rule = Rule; this.Predicate = Predicate; this.TargetNode = TargetNode; }
public void Add(ISituationNode <T> Node) { nodes.Add(Node); }