internal override void OnHeaderControlsGUI() { var preset = target as Preset; if (preset != null) { using (new EditorGUI.DisabledScope(targets.Length != 1 || !preset.GetPresetType().IsValidDefault())) { var defaultList = Preset.GetDefaultPresetsForType(preset.GetPresetType()).Where(d => d.preset == preset); if (defaultList.Any()) { if (GUILayout.Button(GUIContent.Temp(string.Format(Style.removeFromDefault.text, preset.GetTargetTypeName()), Style.removeFromDefault.tooltip), EditorStyles.miniButton, GUILayout.ExpandWidth(false))) { Undo.RecordObject(Resources.FindObjectsOfTypeAll <PresetManager>().First(), "Preset Manager"); Preset.RemoveFromDefault(preset); Undo.FlushUndoRecordObjects(); } } else { if (GUILayout.Button(GUIContent.Temp(string.Format(Style.addToDefault.text, preset.GetTargetTypeName()), Style.addToDefault.tooltip), EditorStyles.miniButton, GUILayout.ExpandWidth(false))) { Undo.RecordObject(Resources.FindObjectsOfTypeAll <PresetManager>().First(), "Preset Manager"); var list = Preset.GetDefaultPresetsForType(preset.GetPresetType()).ToList(); list.Insert(0, new DefaultPreset(string.Empty, preset)); Preset.SetDefaultPresetsForType(preset.GetPresetType(), list.ToArray()); Undo.FlushUndoRecordObjects(); } } } } }
internal override void OnHeaderControlsGUI() { using (new EditorGUI.DisabledScope(targets.Length != 1 || Preset.IsPresetExcludedFromDefaultPresets(target as Preset))) { var preset = (Preset)target; if (Preset.GetDefaultForPreset(preset) == preset) { if (GUILayout.Button(string.Format("Remove from {0} Default", preset.GetTargetTypeName()), EditorStyles.miniButton, GUILayout.ExpandWidth(false))) { Preset.RemoveFromDefault(preset); } } else { if (GUILayout.Button(string.Format("Set as {0} Default", preset.GetTargetTypeName()), EditorStyles.miniButton, GUILayout.ExpandWidth(false))) { Preset.SetAsDefault(preset); } } } }