Пример #1
0
 private IEnumerable <SituationEdge <T> > GetLoopedEdges(ISituationNode <T> Node)
 {
     foreach (SituationEdge <T> edge in Node.Edges)
     {
         if (edge.TargetNode == Node)
         {
             yield return(edge);
         }
     }
 }
Пример #2
0
        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;
        }
Пример #3
0
 public void Add(ISituationNode <T> Node)
 {
     nodes.Add(Node);
 }