/*
     * 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);
        }
    }
示例#2
0
    /*
     * 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);
        }
    }