void HandleMultiSelection(List<SpriteCollectionEditorEntry> entries, SpriteCollectionEntryComparerDelegate comparer, SpriteCollectionEntryAssignerDelegate assigner) { if (entries.Count <= 1) return; var activeSelection = SpriteCollection.textureParams[entries[entries.Count - 1].index]; bool needButton = false; foreach (var entry in entries) { var sel = SpriteCollection.textureParams[entry.index]; if (sel != activeSelection && !comparer(activeSelection, sel)) { needButton = true; break; } } if (needButton) { GUILayout.BeginHorizontal(); GUILayout.FlexibleSpace(); if (GUILayout.Button("Apply", EditorStyles.miniButton, GUILayout.Width(miniButtonWidth))) { foreach (var entry in entries) { var sel = SpriteCollection.textureParams[entry.index]; if (sel != activeSelection) assigner(activeSelection, sel); } } GUILayout.EndHorizontal(); } }
void HandleMultiSelection(List <SpriteCollectionEditorEntry> entries, SpriteCollectionEntryComparerDelegate comparer, SpriteCollectionEntryAssignerDelegate assigner) { if (entries.Count <= 1) { return; } var activeSelection = SpriteCollection.textureParams[entries[entries.Count - 1].index]; bool needButton = false; foreach (var entry in entries) { var sel = SpriteCollection.textureParams[entry.index]; if (sel != activeSelection && !comparer(activeSelection, sel)) { needButton = true; break; } } if (needButton) { GUILayout.BeginHorizontal(); GUILayout.FlexibleSpace(); if (GUILayout.Button("Apply", EditorStyles.miniButton, GUILayout.Width(miniButtonWidth))) { foreach (var entry in entries) { var sel = SpriteCollection.textureParams[entry.index]; if (sel != activeSelection) { assigner(activeSelection, sel); } } } GUILayout.EndHorizontal(); } }