Синтаксис:
Используется csharp
public class PovEvents : MonoBehaviour {
public bool UseEnter = false;
[SerializeField]
public UnityEvent EnterToPoV;
}
public bool UseEnter = false;
[SerializeField]
public UnityEvent EnterToPoV;
}
Мне хочется обращаться к этому обработчику в редакторе из объекта который имеет список таких объектов. В редакторе со списком я получаю доступ к ссылке на PovEvents и если крыжик у события включен я отрисовываю его так
Синтаксис:
Используется csharp
private void drawEvntTable(Rect r, PovEvents pov, string evnt)
{
EditorGUI.BeginChangeCheck();
SerializedObject so = new SerializedObject(pov);
SerializedProperty p = so.FindProperty(evnt);
EditorGUI.PropertyField(r, p, (GUIContent)null, true);
if (EditorGUI.EndChangeCheck())
{
EditorUtility.SetDirty(pov);
//so.ApplyModifiedProperties() ;
//so.UpdateIfRequiredOrScript();
}
}
{
EditorGUI.BeginChangeCheck();
SerializedObject so = new SerializedObject(pov);
SerializedProperty p = so.FindProperty(evnt);
EditorGUI.PropertyField(r, p, (GUIContent)null, true);
if (EditorGUI.EndChangeCheck())
{
EditorUtility.SetDirty(pov);
//so.ApplyModifiedProperties() ;
//so.UpdateIfRequiredOrScript();
}
}
Все рисуется, все замечательно, за исключением одного но: Когда я добавляю обработчик и настраиваю чтобы в некоем объекте через GameObject.SetActive() устанавливалось true, то после того как я ухожу с объекта и опять к нему возвращаюсь я вижу что галочка с true сбрасывается на false. Пробовал и другие варианты обновления объекта, они закоменчены, тоже не помогает.
Подскажите в какую сторону копать?