Custom Events

Как и Events (далее События), Custom Events (далее Произвольные или Кастомные события) имеют выходной пин для реализации и опциональные выходные пины данных. Они создаются пользователем, и в графе их можно вызвать  множество раз.

Они определяют точку входа для реализации индивидуальной сети, но не исполняются, отталкиваясь от вызова из кода. Вместо этого они полагаются на другую часть EventGraph (далее Событийный граф), чтоб реализовать их, используя вызов Custom Event или с помощью команд консоли CE или  KE.

Кастомные события

Кастомные события дают вам возможность создать ваши собственные события, которые можно вызвать  в любой точке последовательности, принадлежащей Blueprint. В случаях, когда вы соединяете множество выходных шнуров исполнения с входным пином исполнения конкретного узла, кастомные события могут упростить проводную сеть вашего графа. Кастомные события, созданные  в одном графе Blueprint’а, можно  вызвать в другом графе.

Рабочий поток у них довольно простой:

  • Создайте и назовите Custom Event.
  • Установите любые входные параметры, которые должно иметь событие, наравне с любыми дефолтными значениями.
  • Создайте специфический узел функции, который вызывает кастомное событие.
  • Введите требующиеся входные параметры.

Создание кастомных событий

  1. Создайте узел Custom Event, выполнив правый клик и выбрав Add Custom Event… из контекстного меню.
  2. Назовите ваше новое событие.
  3. В панели Details для вашего нового события, вы можете установить должно ли событие реплицироваться на всех клиентах, когда оно вызывается на сервере, и добавить входные параметры.

Чтоб добавить входные параметры:

  1. Кликните на кнопку New в секции  Inputs в панели Details.
  2. Назовите новый инпут и установите его тип, используя выпадающее меню. В нашем примере у нас есть входной параметр String под названием MyStringParam.
  3. Вы также можете установить дефолтное значение, раскрыв вводное поле  параметра.

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

Теперь, как и в случае любого другого события или узла исполнения, вы можете прикрепить другие узлы к выходному узлу вашего кастомного события, и реализация этой сети начнется, когда ваше кастомное событие будет задействовано. Этот пример кастомного события печатает String на экране.

Вызов кастомных событий

Ваше кастомное событии и сеть, которая с ним ассоциируется, созданы, но в отличие от обычных событий,  здесь нет предустановленных условий, которые можно задействовать  для кастомного события. Чтоб вызвать кастомное событие, выполните правый клик и выберете Call Function > [название кастомного события] из контекстного меню.

Любые входные параметры, которые были установлены для кастомного события, появятся в качестве пинов входных данных в новом узле, так что их можно перенести в кастомное событие. Используя шнур данных, соедините любые пины входных данных с переменными или другими необходимыми пинами.

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

В этом примере у нас если переменная  логического типа IsSuccess в значении  false, так что  будет выведено сообщение об ошибке. Этот граф имеет туже функцию, что  и присоединенный узел  Print String в последовательности после узла Branch,но с добавленной функциональностью, с помощью которой другие  секции графа могут использовать узел Print String, при том  две секции сете не обязательно должны располагаться рядышком внутри графа.

Решение проблем с кастомными событиями

Если в вашем узле Custom Event выскочила шкала Warning!  с сообщением   “Unable to find function with name [CustomEvent]”, компилируйте ваш Blueprint.

Если вы изменяете, количество входных параметров внутри вашего кастомного события, все узлы, которые вызывают кастомные события, будут показывать ошибку при компиляции вашего Blueprint.

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

Чтоб обновить все узлы в вашем графе, в меню File, выберете Refresh All Nodes.