Пример #1
0
 bool resolveConflicts(CausalLink cl, Affordance act)
 {
     foreach (Condition effect in act.getEffects())
     {
         if (!(cl.act1.getActionInstance().Equals(act.getActionInstance())) &&
             !(cl.act2.getActionInstance().Equals(act.getActionInstance())) &&
             (effect.negation(cl.p)))
         {
             Debug.Log("resolveConflicts : ");
             act.disp();
             cl.disp();
             if (cl.act2.isGoal())
             {
                 constraints.Add(Tuple.New(act, cl.act1));
                 addToOrderingConstraints(act, cl.act1);
             }
             else if (!cl.act1.isStart())
             {
                 constraints.Add(Tuple.New(cl.act2, act));
                 addToOrderingConstraints(cl.act2, act);
             }
         }
     }
     return(true);
 }
Пример #2
0
 public bool Equals(Affordance act)
 {
     return(getActionInstance().Equals(act.getActionInstance()));
 }