Editor Unity3D и обновление объекта из кода

Имеется коллекция PropertyDrawer, в которой одной из фишек предусмотрено вызов callback функций при изменении свойства в сериализованном объекте.

public sealed override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
{
  try
  {

    label = SetBaseContent(label);

    if (CheckHide(property)) return;

    if (!IsSupported(property))
    {
      OutNotSupported(property, position, label);
    }
    else
    {
      EditorGUI.BeginChangeCheck();
      Draw(position, property, label);
      if (EditorGUI.EndChangeCheck())
      {
        EndChange(property); // вот здесь вызываются callbacks
      }
    }
    label.tooltip = "";
  }
  catch (Exception exception)
  {
    LogError(exception.Message, property.serializedObject.targetObject);
  }
} 

Раньше все работало без проблем, когда обновился до 6 версии Unity, столкнулся с проблемой, что сам callback отрабатывает и свойства в объекте меняет, но после этого в редакторе никаких изменений не видно, как будто после завершения OnGUI, редактор обновляет объект и затирает изменения...

К сожалению сейчас мало с Unity вожусь, не в теме последних изменений, может кто подскажет, что изменилось и как с этим бороться...


Ответы (0 шт):