Beispiel #1
0
            public void Run()
            {
                Literal newDesire  = desire.ForceFullLiteralImpl().Copy();
                Literal stateAnnot = AsSyntax.CreateLiteral("state", new Atom(state.ToString()));

                if (reason != null)
                {
                    stateAnnot.AddAnnot(AsSyntax.CreateStructure("reason", new StringTermImpl(reason)));
                }
                newDesire.AddAnnot(stateAnnot);
                Trigger eEnd = new Trigger(TEOperator.desireState, type, newDesire);

                if (reasoner.GetAgent().GetPL().HasCandidatePlan(eEnd))
                {
                    reasoner.GetCircumstance().InsertMetaEvent(new Event(eEnd, null));
                }
            }
Beispiel #2
0
 public ITerm GetAsTerm()
 {
     if (planBody is PlanBodyImpl || planBody == null)
     {
         IPlanBody bd;
         if (planBody == null)
         {
             bd = new PlanBodyImpl();
         }
         else
         {
             bd = (IPlanBody)((PlanBodyImpl)planBody.Clone()).MakeVarsAnnon();
         }
         bd.SetAsBodyTerm(true);
         Trigger te = GetTrigger().Clone();
         te.SetAsTriggerTerm(true);
         return(AsSyntax.CreateStructure("im", AsSyntax.CreateString(plan.GetLabel()), te, bd, unif.GetAsTerm()));
     }
     else
     {
         return(AsSyntax.CreateAtom("noimplementedforclass" + planBody.GetType().Name));
     }
 }