Объявление
public void SendMessage(string methodName, object value = null, SendMessageOptions options = SendMessageOptions.RequireReceiver);Параметры
methodName | Имя вызываемого метода. |
value | Необязательное значение параметра для передачи вызываемому методу. |
options | Должна ли возникать ошибка, если метод не существует для целевого объекта? |
Описание
Вызывает метод с именем methodName
для каждого MonoBehaviour в этом игровом объекте.
Метод приема может игнорировать аргумент, не имея параметров. Если для параметра установлено значение SendMessageOptions.RequireReceiver, выводится ошибка, если сообщение не было получено ни одним компонентом.
Обратите внимание, что сообщения не будут отправляться неактивным объектам (то есть тем, которые были деактивированы в редакторе или с помощью функции SetActive).
using UnityEngine;
public class Example : MonoBehaviour
{
void Start()
{
// Calls the function ApplyDamage with a value of 5
// Every script attached to the game object
// that has an ApplyDamage function will be called.
gameObject.SendMessage("ApplyDamage", 5.0);
}
}
public class Example2 : MonoBehaviour
{
public void ApplyDamage(float damage)
{
print(damage);
}
}