Написал пару функция упрощающих работу с GUI редактора.
public static T ObjectField<T>(string label, T field) where T : Object {
GUILayout.BeginHorizontal();
GUILayout.Label(label);
field = (T)EditorGUILayout.ObjectField((Object)field, typeof(T), false);
GUILayout.EndHorizontal();
return field;
}
public static System.Enum EnumPopup(string label, System.Enum selected) {
GUILayout.BeginHorizontal();
GUILayout.Label( label );
selected = EditorGUILayout.EnumPopup(selected);
GUILayout.EndHorizontal();
return selected;
}
И еще пару подобных. Код значительно уменьшился в других местах.
Только не понятно почему where T : System.Enum считается ошибкой.