public int UndoableLabeledEnumPopupNamed(Rect r, string label, Enum enumValue, string[] displayedOptions, string undoInfix) { int nextEnum = SF_GUI.LabeledEnumFieldNamed(r, displayedOptions, new GUIContent(label), (int)((object)enumValue), EditorStyles.miniLabel); if (nextEnum != ((int)((object)enumValue))) { string undoName = "set " + undoInfix + " to " + displayedOptions[nextEnum]; Undo.RecordObject(this, undoName); return(nextEnum); } return((int)((object)enumValue)); }