pax, вот будят у меня куча скриптов, которые посылают по несколько сообщений. мне тогда для каждого скрипта делать Editor?
[System.Serializable]
public class SignalSender {
public bool onlyOnce;
public ReceiverItem[] receivers;
private bool hasFired = false;
public void SendSignals(MonoBehaviour sender) {
if (hasFired == false || onlyOnce == false) {
foreach(ReceiverItem receiver in receivers) {
receiver.Send(sender);
}
hasFired = true;
}
}
}
[System.Serializable]
public class ReceiverItem {
public GameObject receiver;
public string action = "OnSignal";
public void Send(MonoBehaviour sender) {
if (receiver)
receiver.SendMessage(action);
else
Debug.LogWarning("No receiver of signal \""+action+"\" on object "+sender.name+" ("+sender.GetType().Name+")", sender);
}
}
Вот если бы для этого ReceiverItem сделать Editor, то можно было бы во всех скриптах использовать SignalSender и не делать больше Editor'ов.