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