Существуют определенные правила для привязки функции к событию единства от инспектора.
1) Функция должна быть public
, чтобы иметь возможность выбрать ее из инспектора.
2) Тип возвращаемого значения должен быть void
, поэтому вы не сможете выбирать функции с любым типом возврата, а поскольку ваша IEnumerator
функция возвращает IEnumerator
, вы не сможете выбрать ее изинспектор.
3) Параметры функции должны соответствовать параметрам события, если только UnityEvent не принимает такие параметры, как событие Button.onClick (спасибо @derHugo за исправление), например событие кнопки onClick
не делаетНе берите никаких параметров, поэтому чтобы выбрать для него функцию из инспектора, функция должна выглядеть следующим образом:
public void ChoosableTemplateForOnClickButton() { }
Но вы хотите вызвать IEnumerator из инспектора, так что вы можете сделать это вфункция void:
при условии, что ваша функция IEnumerator выглядит как
public IEnumerator MyRoutine()
{
yield and enjoy...
}
, оберните ее в функцию void:
public void RoutineWrap()
{
StartCoroutine(MyRoutine());
}
Теперь вы можете выбрать RoutineWrap
изINSPECтор.