void RemoveGroup(MadLevelConfiguration.Group group) { if (group == configuration.defaultGroup) { Debug.LogError("Cannot remove default group"); return; } bool removeLevels = false; if (group.GetLevels().Count > 0) { if (EditorUtility.DisplayDialog("Remove Levels As Well?", "Do you want to remove all levels in this group as well? " + "If no, all levels will be moved to default group.", "Yes", "No")) { removeLevels = true; } } MadUndo.RecordObject2(configuration, "Remove Group"); if (currentGroup == group) { currentGroup = configuration.defaultGroup; } if (removeLevels) { var levels = group.GetLevels(); configuration.levels.RemoveAll((level) => levels.Contains(level)); } configuration.RemoveGroup(group); }