Я работаю с UnityEvents, как указано здесь . Там написано
При настройке UnityEvent в Инспекторе существует два типа
поддерживаемые вызовы функций:
Статический. Статические вызовы - это предварительно настроенные вызовы, с предварительно настроенными
значения, которые установлены в пользовательском интерфейсе. Это означает, что когда обратный вызов
вызывается, целевая функция вызывается с аргументом, который имеет
был введен в пользовательский интерфейс.
Dynamic. Динамические вызовы вызываются с помощью
аргумент, который отправляется из кода, и это связано с типом
UnityEvent, который вызывается. Пользовательский интерфейс фильтрует обратные вызовы и
показывает только динамические вызовы, действительные для UnityEvent.
поэтому я получаю UnityEvent с аргументом, как в
public class UnityEventFloat : UnityEvent<float>
{
}
public UnityEventFloat OnUpdateEvent;
Это появляется в инспекторе как
![A callback entered to a UnityEvent](https://i.stack.imgur.com/u0Zm5.jpg)
Как видите, я добавил функцию обратного вызова setWaitTime
в UnityEvent.
Функция имеет такую форму public void setWaitTime(float t)
После этого UnityEvent будет вызываться в коде как
OnUpdateEvent.Invoke(aValue);
Попытка всего этого не работает должным образом, так как функция при вызове использует в качестве аргумента 0 (как в Инспекторе)
Я хочу, чтобы она вызывала функцию с аргументом aValue
(которая является внутренней переменной в коде)
Как я могу это сделать? Я думаю, что я не совсем понимаю цитату выше из документации. Моя ситуация похожа на «Статическую», и мне нужно, чтобы она работала как «Динамическая»
EDIT2:
Мне нужно решить проблему, поэтому я напишу это в ответе
EDIT: (Старый)
Я попробовал предложенный ответ и получил это
Я не знаю, как это может решить проблему (обратите внимание, что теперь параметр является сценарием. Но это внутри того же сценария (SliderGestureControl))