protected virtual void DrawFoldoutEditor() { GUILayout.BeginHorizontal(); GUILayout.BeginVertical(); var temp = EditorGUIUtility.labelWidth; EditorGUIUtility.labelWidth = 1; for (int i = 0; i < values.arraySize; i++) { if (UilityBarEditAction(i)) { GUILayout.Label("if you see this please refresh somehow; )"); return; } } GUILayout.EndVertical(); GUILayout.BeginVertical(); for (int i = 0; i < values.arraySize; i++) { DrawSubProperty(values.GetArrayElementAtIndex(i).FindPropertyRelative("value")); } GUILayout.EndVertical(); GUILayout.EndHorizontal(); EditorGUIUtility.labelWidth = temp; if (GUILayout.Button("Add new empty Item")) { editedName = palette.AddNew(); newName = editedName; Refresh(); } }