private bool CompetenceElementsHandler(CompetenceElement competenceElement) { int numSensesNeeded = 0; foreach (Sense sense in competenceElement.Senses) { numSensesNeeded = CheckSense(numSensesNeeded, sense); } if (numSensesNeeded == competenceElement.Senses.Count) { ABOD3_Bridge.GetInstance().AletForElement(botNumber, competenceElement.Name, "CE"); PlanElement elementToBeTriggered = competenceElement.TriggerableElement; if (elementToBeTriggered is Competence) { CompetenceHandler((Competence)elementToBeTriggered); } else if (elementToBeTriggered is ActionPattern) { ActionPatternHandler((ActionPattern)elementToBeTriggered); } else { TriggerAction((Action)elementToBeTriggered); } return(true); } else { return(false); } }
/// <summary> /// Initialises the competence priority element. /// /// The log domain is set to [AgentName].CP.[competence_name] /// </summary> /// <param name="agent">The element's agent.</param> /// <param name="CompetenceName">The name of the competence.</param> /// <param name="elements">The set of competence elements of the /// priority element.</param> public CompetencePriorityElement(Agent agent, string competenceName, CompetenceElement[] elements) : base(string.Format("CP.{0}",competenceName),agent) { this.name = competenceName; if (elements.Length > 0) this.elements = new List<CompetenceElement>(elements); else this.elements = new List<CompetenceElement>(); log.Debug("Created"); }