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();
            }
        }