# Predicate

рус.: Предикат

Компонент Predicate предназначен для выполнения логических операций (и, или, не, и другие).

## Связи

### Входящие связи

ExecuteA
  Связь от операнда A
ExecuteB
  Связь от операнда B

### Исходящие связи

OutS
  Результат выполнения логической операции

## Свойства

AllowFalse
  Пропуск значения false. Значение: логическое (true/false)
AllowTrue
  Пропуск значения true. Значение: логическое (true/false)
AntiCircle
  Предотвращение бесконечных циклов. Если результат воздействия равен текущему состоянию, при состоянии AntiCircle=true - не отрабатывать воздействие. ЗначениеЖ логическое (true/false).
Operation
  Выполняемая компонентом операция. Значение: строка (Напр.: A_and_B, A_or_B, A_eq_B, A_xor_b, not_A_and_B, A_and_not_B, not_A_and_not_B).
StatusA
  Определение
StatusB
  Определение

## Пример использования

Создадим конфигурацию в которой будет выполняться логическая операция AND(и/логическое умножение). В качестве операндов будут выступать кнопки (NPCTextButton), результат будет передавать тоже в кнопку(NPCTextButton).

Нам понадобятся компоненты NPCFaceContainer, Predicate и 3 NPCTextButton.

Свяжем все визуальные компоненты, создадим связи от компонента NPCFaceContainer к компонентам NPCTextButton.

Разместим кнопки изменив их свойства PositionX и PositionY так, чтобы TextButton была выше TextButton_1 и TextButton_2, а TextButton_1 и TextButton_2 были на одном уровне.

Создадим логические связи. Компонент Predicate будет получать значение от компонентов TextButton_1 и TextButton_2, а результат выполнения логической операции будет передан компоненту TextButton. Создадим связь (тип "управление сенсором" - "операнд А") от компонента TextButton_1 к компоненту Predicate и связь (тип "управление сенсором" - "операнд B") от компонента TextButton_2 к компоненту Predicate. Создадим связь (тип "управление сенсором") от компонента Predicate к компоненту TextButton.

Отредактируем свойства компонента Predicate: Operation - "A_AND_B".

Запустим конфигурацию (F9).

На место компонента Predicate можно поместить компоненты PredicateAnd или PredicateOr. Компоненты PredicateAnd и PredicateOr по сути являются точными копиями компонента Predicate с установленными по умолчанию параметрами Operation.

Последнее изменение: 28.01.2009