Показать сообщение отдельно
Старый 29.08.2012, 17:50   #613
WISHMASTER35
Бывалый
 
Аватар для WISHMASTER35
 
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений
(для 357 пользователей)
Ответ: Вопросы от новичка

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'ов.
(Offline)
 
Ответить с цитированием