//----------------------------------------------------------------------------------------------- private bool IsPreconditionMet(PreconditionProperty precondition, byte currentWorldValue) { const bool PRECONDITION_IS_MET = true; switch (precondition.OperatorToEvaluate) { case PreconditionProperty.eOperator.OP_EQUALS: { if (precondition.PropertyValue == currentWorldValue) { return(PRECONDITION_IS_MET); } break; } case PreconditionProperty.eOperator.OP_NOT_EQUAL: { if (precondition.PropertyValue != currentWorldValue) { return(PRECONDITION_IS_MET); } break; } case PreconditionProperty.eOperator.OP_GREATER_THAN: { if (precondition.PropertyValue < currentWorldValue) { return(PRECONDITION_IS_MET); } break; } case PreconditionProperty.eOperator.OP_LESS_THAN: { if (precondition.PropertyValue > currentWorldValue) { return(PRECONDITION_IS_MET); } break; } case PreconditionProperty.eOperator.OP_GREATER_OR_EQUAL: { if (precondition.PropertyValue <= currentWorldValue) { return(PRECONDITION_IS_MET); } break; } case PreconditionProperty.eOperator.OP_LESS_OR_EQUAL: { if (precondition.PropertyValue >= currentWorldValue) { return(PRECONDITION_IS_MET); } break; } } return(!PRECONDITION_IS_MET); }
//----------------------------------------------------------------------------------------------- public void AddPrecondition(PreconditionProperty precondition) { m_preconditions.Add(precondition); }