public override void OnGUI(LocalizedTablePropertyDrawerPropertyData data, Rect position, SerializedProperty property, GUIContent label) { var dropDownPosition = EditorGUI.PrefixLabel(position, label); if (EditorGUI.DropdownButton(dropDownPosition, data.FieldLabel, FocusType.Passive)) { var treeSelection = new TableTreeView(typeof(TCollection) == typeof(StringTableCollection) ? typeof(StringTable) : typeof(AssetTable), collection => { data.SelectedTableCollection = collection as TCollection; // Will be called outside of OnGUI so we need to call ApplyModifiedProperties. data.serializedObject.ApplyModifiedProperties(); }); PopupWindow.Show(dropDownPosition, new TreeViewPopupWindow(treeSelection) { Width = dropDownPosition.width }); } }
public override float GetPropertyHeight(LocalizedTablePropertyDrawerPropertyData data, SerializedProperty property, GUIContent label) => EditorGUIUtility.singleLineHeight;