예제 #1
0
 internal CompositeQualifierVisualizer(ICompositeScorer q, SelectorVisualizer parent) : base((IQualifier)q, parent)
 {
     this._scorers = new List <IContextualScorer>(q.scorers.Count);
     for (int i = 0; i < q.scorers.Count; i++)
     {
         this._scorers.Add(new ScorerVisualizer(q.scorers[i], this));
     }
 }
 internal CompositeQualifierVisualizer(ICompositeScorer q, SelectorVisualizer parent)
     : base((IQualifier)q, parent)
 {
     _scorers = new List <IContextualScorer>(q.scorers.Count);
     foreach (var s in q.scorers)
     {
         _scorers.Add(new ScorerVisualizer(s, this));
     }
 }
 public static float TestPreconditions(ITask task, IHTNContext context)
 {
     for (int i = 0; i < task.Preconditions.Count; i++)
     {
         ICompositeScorer item           = task.Preconditions[i];
         ICanBeDisabled   canBeDisabled  = item as ICanBeDisabled;
         ICanBeDisabled   canBeDisabled1 = canBeDisabled;
         if ((canBeDisabled == null || !canBeDisabled1.isDisabled) && item.Score(context, item.scorers) <= 0f)
         {
             return(0f);
         }
     }
     return(1f);
 }
예제 #4
0
 public bool ValidatePreconditions(IHTNContext context)
 {
     for (int i = 0; i < this.Preconditions.Count; i++)
     {
         ICompositeScorer item = this.Preconditions[i];
         if (!item.Validate(context, item.scorers))
         {
             return(false);
         }
     }
     for (int j = 0; j < this.Parents.Count; j++)
     {
         if (!this.Parents[j].ValidatePreconditions(context))
         {
             return(false);
         }
     }
     return(true);
 }
예제 #5
0
 public bool ValidatePreconditions(IHTNContext context)
 {
     for (int i = 0; i < this.Preconditions.Count; i++)
     {
         ICompositeScorer item           = this.Preconditions[i];
         ICanBeDisabled   canBeDisabled  = item as ICanBeDisabled;
         ICanBeDisabled   canBeDisabled1 = canBeDisabled;
         if ((canBeDisabled == null || !canBeDisabled1.isDisabled) && !item.Validate(context, item.scorers))
         {
             return(false);
         }
     }
     for (int j = 0; j < this.Parents.Count; j++)
     {
         if (!this.Parents[j].ValidatePreconditions(context))
         {
             return(false);
         }
     }
     return(true);
 }