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)); } }
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)); } }