21. Выключение компонентов
Короткая глава про одну кнопку, которая экономит много работы.
Зачем
Участок сценария перестал быть нужен — на неделю, до конца акции, до выяснения. Разобрать его и собрать обратно значит потерять связи, имена и настройки, а потом восстанавливать их по памяти.
Выключение решает это иначе: компонент остаётся на карте и в сценарии, но не исполняется — вызов проходит сквозь него дальше.
Как
Тумблер в заголовке панели — или пункт Выключить компонент в контекстном меню.
Если выделено несколько компонентов, тумблер работает на всю группу разом. Когда состояние у выделенных разное, он так и показывает — и одно нажатие приводит всех к общему.
Как выглядит на карте
Выключенный компонент бледнее остальных — вместе со своим именем и связями. Ни рамки, ни перечёркивания: он не «сломан», он просто не участвует.
|
Затенение в режиме трассировки выглядит похоже, но означает другое: «этот компонент не на пути». Не перепутайте — в трассировке гаснет большая часть карты сразу, а выключенные компоненты бледные всегда. |
Что происходит с вызовом
Цепочка не разрывается. Вызов доходит до выключенного компонента, не исполняет его и идёт дальше — по основной ветке, по happy-way.
Какая ветка считается основной, зависит от типа:
| Тип | Куда уйдёт вызов |
|---|---|
Обычный компонент с одним переходом |
По Переходу |
Сравнение |
По ветке «Правда» — то есть по успешной |
Меню |
По ветке Переход, прочее |
То есть выключение — это не «вырезать шаг», а «пропустить шаг». Всё, что компонент делал — проиграл, спросил, записал, — не произойдёт; всё, что было после него по основному ходу, произойдёт как обычно.
|
Отсюда две вещи, о которых стоит помнить. Логика ветвления исчезает вместе с компонентом. Выключив Сравнение, вы не выключаете проверку — вы делаете её всегда истинной. Ветка «Ложь» перестаёт срабатывать вовсе. Основная ветка должна быть заполнена. Если у выключенного компонента её нет, идти дальше некуда — и вызов на нём и закончится. |
Чем это лучше удаления
- Цепочка остаётся целой
-
удалив компонент, вы порвёте связь и будете восстанавливать её руками. Выключив — оставите её как есть: вызов пойдёт сквозь.
- Ничего не теряется
-
связи на выключенный компонент остаются, свойства остаются, имя остаётся. Включить обратно — одно нажатие.
- Сравнение версий покажет одну строку
-
в истории видно ровно то, что произошло: компонент выключили. После удаления и восстановления разница была бы куда шумнее.
- Понятно коллеге
-
выключенный участок на карте виден. Удалённый — не виден никак, и через месяц никто не вспомнит, что он был.
|
Если участок выключен «на время», стоит написать в его описании, до какого времени и почему. Иначе через полгода никто не решится ни включить его, ни удалить. |