private void ToggleAllProperties(FolderToPresetData folderToPresetData, Preset preset, bool enabled) { for (int i = 0; i < preset.PropertyModifications.Length; i++) { PropertyModification presetPropertyModification = preset.PropertyModifications[i]; folderToPresetData.SetSettingEnabled(presetPropertyModification.propertyPath, enabled); } EditorUtility.SetDirty(presetManagerStorage); }
private void DrawPresetOptions(int index, FolderToPresetData folderToPresetData, Preset preset) { EditorGUI.indentLevel++; if (foldoutPerSettings == null) { foldoutPerSettings = new bool[presetManagerStorage.FoldersPresets.Count]; } foldoutPerSettings[index] = EditorGUILayout.Foldout(foldoutPerSettings[index], "Customize Parameters", EditorStyles.foldout); if (foldoutPerSettings[index]) { for (int i = 0; i < preset.PropertyModifications.Length; i++) { PropertyModification propertyModification = preset.PropertyModifications[i]; EditorGUI.BeginChangeCheck(); bool settingEnabled = folderToPresetData.IsSettingEnabled(propertyModification.propertyPath); settingEnabled = EditorGUILayout.ToggleLeft(propertyModification.propertyPath, settingEnabled); if (EditorGUI.EndChangeCheck()) { folderToPresetData.SetSettingEnabled(propertyModification.propertyPath, settingEnabled); EditorUtility.SetDirty(presetManagerStorage); } } EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("Select All", EditorStyles.toolbarButton)) { ToggleAllProperties(folderToPresetData, preset, true); } if (GUILayout.Button("Unselect All", EditorStyles.toolbarButton)) { ToggleAllProperties(folderToPresetData, preset, false); } EditorGUILayout.EndHorizontal(); } if (GUILayout.Button("Delete", EditorStyles.toolbarButton)) { presetManagerStorage.FoldersPresets.Remove(folderToPresetData); } EditorGUI.indentLevel--; }