public virtual void DropDesireInEvent(Reasoner rs, Event e, Intention i) { Circumstance C = rs.GetCircumstance(); C.RemoveEvent(e); if (i != null) { if (rs.HasDesireListener()) { foreach (Desire gl in rs.GetDesiresListeners()) { gl.DesireFinished(e.GetTrigger(), Desire.FinishStates.achieved); } i.Peek().RemoveCurrentStep(); rs.ApplyClrInt(i); C.AddRunningIntention(i); } } }