Pass delegate

This commit is contained in:
wrenge 2024-11-13 09:35:27 +03:00
parent 2397f23fc3
commit fff0998613
1 changed files with 3 additions and 18 deletions

View File

@ -25,29 +25,14 @@ namespace DotRecast.Core.Collections
{
public class RcSortedQueue<T>
{
private sealed class ReverseComparer : IComparer<T>
{
private readonly Comparison<T> _comparison;
public ReverseComparer(Comparison<T> comparison)
{
_comparison = comparison;
}
public int Compare(T x, T y)
{
return _comparison(x, y) * -1;
}
}
private bool _dirty;
private readonly List<T> _items;
private readonly IComparer<T> _comparer;
private readonly Comparison<T> _comparison;
public RcSortedQueue(Comparison<T> comp)
{
_items = new List<T>();
_comparer = new ReverseComparer(comp);
_comparison = (x, y) => comp(x, y) * -1;
}
public int Count()
@ -70,7 +55,7 @@ namespace DotRecast.Core.Collections
{
if (_dirty)
{
_items.Sort(_comparer); // reverse
_items.Sort(_comparison); // reverse
_dirty = false;
}
}