protected override void DrawElement(Rect rect, int index, bool isActive, bool isFocused) { rect.y += 2; SerializedProperty element = list.serializedProperty.GetArrayElementAtIndex(index); SerializedProperty assetLabelProperty = element.FindPropertyRelative(AssetToPoolInfo.Label); Rect assetLabelRect = new Rect(rect.x, rect.y, 120, EditorGUIUtility.singleLineHeight); string assetLabel = assetLabelProperty.DrawPopup(assetLabelRect, assetLabels); Rect amountRect = new Rect(rect.x + 120, rect.y, 50, EditorGUIUtility.singleLineHeight); SerializedProperty amountProperty = element.FindPropertyRelative(AssetToPoolInfo.Amount); amountProperty.intValue = EditorGUI.IntField(amountRect, amountProperty.intValue); assetIds = AssetDatabaseEditor.GetAssetIdsByLabel(assetLabel); if (assetIds == null || assetIds.Length == 0) { EditorGUILayout.LabelField("Нет ассетов с тегом " + assetLabel + " в базе ассетов!"); return; } Rect assetIdRect = new Rect(rect.x + 170, rect.y, 200, EditorGUIUtility.singleLineHeight); SerializedProperty assetIdProperty = element.FindPropertyRelative(AssetToPoolInfo.AssetId); string assetId = assetIdProperty.AutoComplete(assetIdRect, assetIds); }