Переключатель

объект Переключатель; SwitchReactor

Переключатель необходим для создания условий в сценариях приложения. Он имеет собственный тип блока в сценариях, в котором перечисляются опции, заданные пользователем.

switch_review_img

Обзор возможностей

Параметр

Описание

Список опций (options)

Список опций, определенный пользователем.

Опция по умолчанию (defaultOptionIndex)

Опция, выбранная в качестве активной при запуске программы.

параметр Список опций; options

Список опций, определенный пользователем. Задается перед запуском программы и не может быть изменем в процессе ее работы.

параметр Опция по умолчанию; defaultOptionIndex

Опция, выбранная в качестве активной при запуске программы. Если выбрано значение «Не определено», по умолчанию активной будет выбрана первая опция из списка.

Работа с переключателем

Приведенный ниже проект доступен на GitHub.

Выбор активной опции

В один переключатель можно добавить любое количество опций, но в качестве активной одновременно может быть выбрана только одна. Чтобы во время работы программы сделать какую-либо опцию активной, необходимо в сценарии привести соединение к желаемой опции слева.

switch_usage_select_img

В приведенном выше примере при нажатии на определенную кнопку, каждая из которых представлена объектом типа Текст (TextReactor), происходит выбор соответствующей опции в качестве активной.

Ветвления

При обработке соединения, приходящего сверху в элемент переключателя, происходит проверка текущей активной опции. Если в элемент присутсвует активная опция, выполняется обработка соединений, выходящих из нее справа. Если таких соединений нет, ничего не проиходит.

На приведенном ниже сценарии при нажатии на Текст (TextReactor) «Проверка» проиходит проверка текущей опции. Если текущая опция - «Ответ A», то появляется Текст (TextReactor) «Правильно!», в противном случае появиться Текст (TextReactor) «Неверно!».

switch_usage_process_img

Особенности использования в сценарии

У объекта переключатель есть важное отличие от других объектов. Соединения, исходящие справа из опций данного элемента будут обработаны, только в том случае, если к данному элементу сверху приведено соединение проверки текущей активной опции. Таким образом, сценарий приведенный ниже работать не будет!

switch_usage_mistake_img

Здесь проверка активной опции переключателя «Switch | Переключатель» приходит в одном экземпляре элемента, а соединения, соответсвующие различным опциям, исходят из опций, добавленых в другой экземпляр элемента того же переключателя «Switch | Переключатель». В таком случае при проверке активной опции ничего не произойдет.