Страница 1 из 1

Asset Drag&Drop Event

СообщениеДобавлено: 26 май 2019, 16:09
Mr.Rosbi
Приветики! Давненько смотрел этот видос(https://www.youtube.com/watch?v=raQ3iHhE_Kk) Там рассказывают про много крутых штук с SO, но лично для себя я черпанул систему событий через SO. Есть SO это носитель события который можно накинуть на любой UnityEvent и вызвать когда надо и есть Listeners мнобехи которые подписываются на SO события и реагируют на их инвок своим Response. Круто, удобно! Но есть некоторые неудобства. Это в случае ошибки никакого stack trace и когда накапливается много событий начинаешь путаться кто за что отвечает и так далее. Первая проблема не такая серьёзная, меня беспокоит именно путаница. И я у меня есть мысль что этого можно избежать если сделать csv даты кто на что подписан в каком префабе в каком GO и так далее. И я хочу это запелить, но для этого мне нужно событие редактора аля мы Drag&Drop'ом перетянули SO в UnityEvent и вот это событие мне нужно как-то отловить и знать что за GO с UnityEvent'ом что бы записать в csv: этот SO используется в это GO в таком то UnityEvent. Может у кого будут идеи как отловить это событие? Заранее спасибо

Re: Asset Drag&Drop Event

СообщениеДобавлено: 26 май 2019, 16:21
1max1
Мне кажется нужно будет переписывать сериализацию для UnityEvent, либо делать свой тип + ко всему свой инспектор для отображения. Не знаю на сколько это реально, чисто предположение.

п.с. для разнообразия... http://www.cyberforum.ru/blogs/529033/blog5507.html

Re: Asset Drag&Drop Event

СообщениеДобавлено: 26 май 2019, 21:21
AngryCat
Пиши кастомный редактор :/

Re: Asset Drag&Drop Event

СообщениеДобавлено: 26 май 2019, 22:05
lawson
мне нужно событие редактора аля мы Drag&Drop'ом перетянули SO в UnityEvent и вот это событие мне нужно как-то отловить и знать что за GO с UnityEvent'ом что бы записать в csv:

Синтаксис:
Используется csharp
EditorGUI.BeginChangeCheck();
//LAYOUT ПЕРЕМЕННОЙ UnityEvent
if (EditorGUI.EndChangeCheck()) {
 //ИЗМЕНИЛОСЬ ЗНАЧЕНИЕ ПЕРЕМЕННОЙ, ЗАПИСЫВАЕМ В csv
}