Устройство Переключатель можно использовать двумя способами.
-
В качестве физического переключателя, с которым могут взаимодействовать игроки. Его можно использовать с другими устройствами, чтобы игроки могли открывать и закрывать двери или включать или выключать свет.
-
В качестве метода фильтрации взаимодействия с другими устройствами. Например, если переключатель включён, он будет подавать сигнал на один канал, а если выключен, то на другой.
Чтобы найти устройство «Переключатель», воспользуйтесь разделом «Поиск и размещение устройств».
Контекстный фильтр
На некоторые устройства действует функция Контекстный фильтр. Она скрывает или отображает настройки в зависимости от значений, установленных для ряда связанных параметров. Она убирает убрать лишние элементы из панели изменений и облегчает работу с настройками.
Однако далеко не всегда понятно, какие параметры или значения активируют контекстный фильтр. Чтобы помочь вам определить их, мы выделили курсивом все значения, активирующие контекстный фильтр. Мы перечислим все параметры, включая те, на которые действует контекстный фильтр. Если они скрыты или отображаются только при определённых значениях параметра, мы сделаем пометку в разделе «Описание» для этого параметра.
Параметры устройства
Устройство обладает базовым функциями, которые, к примеру, позволяют изменить видимость переключателя и указать текст, который отображается при взаимодействии с ним. Кроме того, у него есть дополнительные параметры, которые можно использовать, если переключатель сохраняет своё состояние.
Вам доступны следующие параметры устройства.
Стандартные значения выделены полужирным шрифтом. Значения, которые используют контекстный фильтр, показаны курсивом.
Параметр | Значение | Описание | |
---|---|---|---|
Включение в начале игры | Да, Нет | Определяет, включается ли устройство в начале игры. Выключенные устройства игнорируют все события, кроме включения. | |
Начальное состояние | Выкл., Вкл. | Это стандартное начальное состояние переключателя, в котором он находится до того, как с ним взаимодействует игрок. | |
Отображение в игре | Да, Нет | Определяет, будет ли устройство отображаться во время игры. | |
Текст включения | Введите текст в поле | Определяет, какой текст появится при переведении переключателя в положение «Вкл.». | В поле для текста можно ввести не более 150 символов. |
Текст отключения | Введите текст в поле | Определяет, какой текст появится при переведении переключателя в положение «Выкл.». | В поле для текста можно ввести не более 150 символов. |
Модель устройства | По умолчанию, Старый рычаг, Рычажный переключатель, По умолчанию (неосвещённый), Старый рычаг (неосвещённый), Красная кнопка, Предохранитель, Древний рычаг, Пункт | Определяет вид модели переключателя. | |
Звук | Включено, Выключено | Определяет, издаёт ли переключатель звук, когда меняется его состояние (с «Выкл.» на «Вкл.» и наоборот). | |
Разрешить взаимодействие | Да, Нет | Определяет, могут ли игроки взаимодействовать с устройством. | |
Время взаимодействия | Мгновенно, Выберите или укажите время в секундах | Определяет, как долго игрок должен взаимодействовать с устройством, чтобы активировать его. | |
Лимит взаимодействий может быть изменён | Нет, Да | Определяет, может ли взаимодействие с устройством быть ограничено указанным количеством раз. Если выбрано значение Да, под этим параметром будет отображаться ещё один дополнительный. | |
Количество изменений | 1, Выберите или укажите число | Определяет, сколько раз устройство может быть переключено, прежде чем оно выключится. | |
Бесконечная перезарядка | Нет, Да | Определяет, сколько длится перезарядка после взаимодействия с устройством. Если выбрано значение Да, под этим параметром не будет отображен параметр Время перезарядки. | |
Время перезарядки | Мгновенно, Выберите количество в секундах | Этот параметр отображается только тогда, когда для параметра Бесконечная перезарядка выбрано значение Нет. Определяет, сколько длится перезарядка между взаимодействиями. | |
Разрешённый класс | Без класса, Все, Выберите или укажите класс | Определяет, какой класс может активировать устройство. | |
Разрешённая команда | Все, Выберите или укажите команду | Определяет, какие команды могут активировать устройство. | |
Радиус взаимодействия | 0, Выберите радиус | Позволяет взаимодействовать с кнопкой не только при фокусировке непосредственно на ней, но и в случае, когда камера направлена немного в сторону. Используйте в сочетании с настройкой видимости, чтобы казалось, будто игроки используют другие предметы. | |
Время сброса состояния | Без сброса, Выберите или укажите время | Определяет промежуток времени, после которого устройство сбрасывается до состояния по умолчанию. | |
Взаимоисключение | Без исключения, Выберите число | Если вы переведёте этот переключатель в положение Вкл., все остальные переключатели с тем же индексом взаимоисключения будут выключены. | |
Сохранить состояние для каждого игрока | Да, Нет | Если выбрать значение Да, у каждого игрока будет своё состояние переключателя. Если выбрать значение Нет, переключатель будет в одном и том же состоянии для всех игроков. | Если для этого параметра выбрано значение Нет, а для параметра Вкл. постоянство выбрано значение Использовать, переключатель будет использовать параметр Решение конфликтов при попытке загрузки состояния. |
Вкл. постоянство | Не использовать, Использовать | Определяет, должно ли это устройство загружать данные сервера. Если выбрано значение Использовать, на вкладке «Все параметры» будут отображаться дополнительный параметр. | |
Автосохранение | Да, Нет | Этот параметр появляется только тогда, когда для параметра Вкл. постоянство выбрано значение Использовать. Определяет, будет ли состояние переключателя автоматически сохраняться при изменении. | |
Автозагрузка | Вкл., Выкл. | Этот параметр появляется только тогда, когда для параметра Вкл. постоянство выбрано значение Использовать. Определяет, будет ли состояние переключателя автоматически загружаться в начале игры или загрузка будет происходить только при помощи привязки события. | |
Решение конфликтов | Первый игрок, Большинство, Вкл. приоритет., Откл. приоритет. | Этот параметр появляется только тогда, когда для параметра Вкл. постоянство выбрано значение Использовать. Определяет, что происходит при загрузке состояния, если для параметра Сохранить состояние для каждого игрока выбрано «Нет». Значения этого параметра:
|
|
Проверка состояния в начале игры | Вкл., Выкл. | Определяет, будет ли переключатель проверять своё состояние в начале игры, запуская события Если по результатам проверки включено или Если по результатам проверки отключено. | |
Проверять состояние переключателя в отключённом виде | Да, Нет | Определяет, будет ли устройство проверять своё состояние в начале игры даже в выключенном виде. |
Система прямой привязки события
Прямая привязка события позволяет устройствам взаимодействовать напрямую. Это значительно упростит вам работу и позволит сосредоточиться на воплощении своих идей.
Ниже приведены параметры функций и событий для этого устройства.
Функции
Функция реагирует на событие на устройстве и выполняет действие.
- Для других функций нажмите на параметр, а затем на Выберите устройство, чтобы открыть выпадающее меню.
- Выбрав устройство, нажмите Выберите событие, чтобы привязать устройство к событию, которое активирует функцию устройства.
- Если функция может быть активирована несколькими устройствами или событиями, нажмите кнопку Добавить и добавьте строку, а затем повторите действия выше.
Параметр | Описание |
---|---|
Включить при получении сигнала | Эта функция включает устройство, когда происходит событие. |
Отключить при получении сигнала | Эта функция выключает устройство, когда происходит событие. |
Перевести в положение «Вкл.» при получении сигнала | Эта функция переводит переключатель в положение «Вкл.», когда происходит событие. |
Перевести в положение «Выкл.» при получении сигнала | Эта функция переводит переключатель в положение «Выкл.», когда происходит событие. |
Переключить состояние при получении сигнала | Эта функция меняет состояние переключателя, когда происходит событие. |
Загрузить состояние при получении сигнала | Эта функция загружает состояние переключателя, когда происходит событие. |
Сохранить состояние при получении сигнала | Эта функция сохраняет состояние переключателя, когда происходит событие. |
Проверить состояние при получении сигнала | Эта функция проверяет состояние переключателя, когда происходит событие. |
Удалить сохранённые данные игрока при получении сигнала | Эта функция удаляет сохранённые данные игроков-инициаторов, когда происходит событие. |
Удалить все сохранённые данные текущих игроков при получении сигнала | Эта функция удаляет сохранённые данные всех текущих игроков, когда происходит событие. |
Сохранить состояние всех при получении сигнала | Эта функция сохраняет состояние переключателя для всех игроков, когда происходит событие. |
Загрузить состояние для всех при получении сигнала | Эта функция загружает состояние переключателя для всех игроков, когда происходит событие. |
События
Прямая привязка события использует события в качестве передатчиков. Событие говорит другому устройству исполнить функцию.
- Для других параметров события нажмите на параметр, а затем на пункт Выберите устройство, чтобы открыть выпадающее меню устройств.
- Выбрав устройство, нажмите Выберите функцию, чтобы привязать событие к функции этого устройства.
- Если событие активирует несколько функций, нажмите кнопку Добавить и повторите процесс.
Параметр | Описание |
---|---|
При включении отправляет событие | Когда переключатель включается, он отправляет событие на выбранное устройство, что активирует заданную функцию. |
При отключении отправляет событие | Когда переключатель выключается, он отправляет событие на выбранное устройство, что активирует заданную функцию. |
Если по результатам проверки включено, отправляет событие | Если по результатам проверки состояния переключатель оказывается включённым, он отправляет событие на выбранное устройство, что активирует заданную функцию. |
Если по результатам проверки отключено, отправляет событие | Если по результатам проверки состояния переключатель оказывается выключенным, он отправляет событие на выбранное устройство, что активирует заданную функцию. |
При сохранении состояния отправляет событие | Когда сохраняется состояние переключателя, он отправляет событие на выбранное устройство, что активирует заданную функцию. |
При смене состояния отправляет событие | Когда меняется состояние переключателя, он отправляет событие на выбранное устройство, что активирует заданную функцию. |
При загрузке состояния отправляет событие | Когда загружается состояние переключателя, он отправляет событие на выбранное устройство, что активирует заданную функцию. |
При удалении отправляет событие | Когда сохранённые данные переключателя удаляются, он отправляет событие на выбранное устройство, что активирует заданную функцию. |
Использование переключателя в Verse
Вы можете использовать следующий код, чтобы управлять переключателем в Verse. Этот код показывает, как использовать события и функции программного интерфейса переключателя. При необходимости измените его под свои нужды.
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
# Созданное в Verse устройство творческого режима, которое можно разместить на уровне
switch_device_verse_example := class(creative_device):
# Ссылка на устройство «Переключатель» на уровне.
# На панели подробностей об этом устройстве Verse
# укажите своё устройство «Переключатель».
@editable
MySwitchDevice:switch_device = switch_device{}
# Локализуемые сообщения, которые можно использовать для управления видимым игрокам текстом
TurnOnInteractionText<localizes>:message = "Пользовательский переключатель установлен на текст!"
# Используется, когда устройство включается в идущей игре
OnBegin<override>()<suspends>:void=
# Пример подписки на событие на устройстве творческого режима.
# Передаёт сигнал, когда меняется состояние переключателя.
MySwitchDevice.StateChangesEvent.Subscribe(OnStateChanged)
# Показывает *текст включения*, когда переключатель выключен, и задаёт взаимодействие для его включения. Не более 150 символов.
MySwitchDevice.SetTurnOnInteractionText(TurnOnInteractionText)
# Эта функция срабатывает, когда игрок включает или выключает переключатель в игре, поскольку она управляет событием StateChangesEvent.
OnStateChanged():void=
Print("Состояние переключателя изменено.")
# Запрашивает, имеет ли это устройство одно глобальное состояние включения/выключения или персонализированные состояния включения/выключения для каждого агента.
if (MySwitchDevice.IsStatePerAgent[]):
Print("Состояние переключателя задано для каждого агента.")
# В этом примере показывается, как операции устройства выполняются для каждого игрока.
for (Player : GetPlayspace().GetPlayers()):
# Возвращает текущее состояние переключателя: true (вкл.) или false (выкл.). Используйте перегрузку GetCurrentState, если для параметра *«Сохранить состояние для каждого игрока»* устройства выбрано значение *«Да»*.
if (MySwitchDevice.GetCurrentState[Player]):
Print("Используется текущее состояние.")
else:
Print("Текущее состояние не используется.")
else:
Print("Состояние переключателя не задано для каждого агента.")
# Возвращает текущее состояние переключателя: true (вкл.) или false (выкл.). Используйте перегрузку GetCurrentState, если для параметра *«Сохранить состояние для каждого игрока»* устройства выбрано значение *«Нет»*.
if (MySwitchDevice.GetCurrentState[]):
Print("Используется текущее состояние.")
else:
Print("Текущее состояние не используется.")
Чтобы использовать этот код в своём проекте UEFN, выполните следующие шаги.
- Перетащите на остров переключатель.
- Создайте новое устройство Verse под названием switch_device_verse_example. Пошаговое руководство см. в разделе «Создание устройств с помощью Verse».
- Откройте switch_device_verse_example.verse в Visual Studio Code и вставьте приведённый выше код.
- Скомпилируйте код и перетащите созданное в Verse устройство на свой остров. Пошаговое руководство см. в разделе «Добавление устройства Verse на уровень».
- Добавьте ссылку на переключатель с острова к устройству Verse. Пошаговое руководство см. в разделе «Добавление ссылки Verse на устройство творческого режима на уровне.
- Сохраните проект и запустите сеанс, чтобы протестировать его.
Программный интерфейс переключателя в Verse
Ознакомьтесь со справкой о программном интерфейсе устройства switch_device, чтобы узнать больше об использовании переключателей в Verse.