private void DoExternals(Event current) { if (serializedSettings == null) { return; } SerializedProperty externalTypesProperty = serializedSettings.FindProperty("ExternalsType"); if (externalTypesProperty != null) { externalTypesProperty.intValue = (int)(GitSettings.ExternalsTypeEnum)EditorGUILayout.EnumMaskField(GitGUI.GetTempContent("External Program Uses", "Use an external program for more advanced features like pushing, pulling, merging and so on"), (GitSettings.ExternalsTypeEnum)externalTypesProperty.intValue); if (serializedSettings.ApplyModifiedProperties()) { AssetDatabase.SaveAssets(); } } SerializedProperty externalProgramProperty = serializedSettings.FindProperty("ExternalProgram"); if (externalProgramProperty != null) { int newSelectedIndex = EditorGUILayout.Popup(GitGUI.GetTempContent("External Program", "The name of the External program to use"), GitExternalManager.SelectedAdapterIndex, GitExternalManager.AdapterNames); externalProgramProperty.stringValue = GitExternalManager.AdapterNames[newSelectedIndex].text; if (serializedSettings.ApplyModifiedPropertiesWithoutUndo()) { GitExternalManager.SetSelectedAdapter(newSelectedIndex); AssetDatabase.SaveAssets(); } } }