а потом достать ссылку и проверить ее
|
А черт! Тип ссылки никак не проверишь. typeof(property.objectReferenceValue) конечно не работает.
Разве SerializedProperty.type возвращает например строку PPtr<$Block>. Только не понятно с чем такое сравнивать надо.
наверно сую я свой нос туда куда не надо)
Хотел сделать скрипт карты, а в нем ссылки на тайлы земли, травы и др. И чтобы в эти ссылки можно было записать только объекты из tileset'а, который тоже с этом скрипте.
На каждую переменную делать вручную поле будет не удобно т.к. часто придется изменять и редактор скрипта(
Декомпилировал класс Editor. Вот так рисуется инспектор
internal bool DoDrawDefaultInspector()
{
EditorGUI.BeginChangeCheck();
this.serializedObject.Update();
SerializedProperty iterator = this.serializedObject.GetIterator();
for (bool flag = true; iterator.NextVisible(flag); flag = false)
{
EditorGUILayout.PropertyField(iterator, true, new GUILayoutOption[0]);
}
this.serializedObject.ApplyModifiedProperties();
return EditorGUI.EndChangeCheck();
}
А дальше настоящий дремучий лес. Но ясно, что моя идея не реализуем, если конечно не переписать GUI.