/* * Check to see if an event requirement passes on the managed blackboards */ public static bool Compare(EventRequirement requirement) { if (requirement == null) { return(true); } switch (requirement.comparator) { case EventRequirementComparator.Is: return(BlackboardGetValue(requirement.property).Equals(requirement.comparison)); case EventRequirementComparator.Not: return(!BlackboardGetValue(requirement.property).Equals(requirement.comparison)); default: return(false); } }
/* * Returns if a variable in this blackboard passes an event requirement */ public bool Compare(EventRequirement requirement) { // Get the value that the requirement wants float value; facts.TryGetValue(requirement.property, out value); // Check to see if variable passes requirement switch (requirement.comparator) { case EventRequirementComparator.Is: return(value.Equals(requirement.comparison)); case EventRequirementComparator.Not: return(!facts.TryGetValue(requirement.property, out value).Equals(requirement.comparison)); break; default: return(false); } }