Class PriorityGroupCollection<TElement>
- Namespace
- KSP.Sim.ResourceSystem
- Assembly
- Assembly-CSharp.dll
public class PriorityGroupCollection<TElement> : IPriorityGroupCollection<TElement>, IReadOnlyPriorityGroupCollection<TElement>, IEnumerable<KeyValuePair<double, TElement>>, IEnumerable
Type Parameters
TElement
- Inheritance
-
PriorityGroupCollection<TElement>
- Implements
-
- Inherited Members
-
- Extension Methods
-
Enumerable.GroupBy<TSource, TKey, TElement, TResult>(IEnumerable<TSource>, Func<TSource, TKey>, Func<TSource, TElement>, Func<TKey, IEnumerable<TElement>, TResult>)
Enumerable.GroupBy<TSource, TKey, TElement, TResult>(IEnumerable<TSource>, Func<TSource, TKey>, Func<TSource, TElement>, Func<TKey, IEnumerable<TElement>, TResult>, IEqualityComparer<TKey>)
Enumerable.GroupJoin<TOuter, TInner, TKey, TResult>(IEnumerable<TOuter>, IEnumerable<TInner>, Func<TOuter, TKey>, Func<TInner, TKey>, Func<TOuter, IEnumerable<TInner>, TResult>)
Enumerable.GroupJoin<TOuter, TInner, TKey, TResult>(IEnumerable<TOuter>, IEnumerable<TInner>, Func<TOuter, TKey>, Func<TInner, TKey>, Func<TOuter, IEnumerable<TInner>, TResult>, IEqualityComparer<TKey>)
Enumerable.Join<TOuter, TInner, TKey, TResult>(IEnumerable<TOuter>, IEnumerable<TInner>, Func<TOuter, TKey>, Func<TInner, TKey>, Func<TOuter, TInner, TResult>)
Enumerable.Join<TOuter, TInner, TKey, TResult>(IEnumerable<TOuter>, IEnumerable<TInner>, Func<TOuter, TKey>, Func<TInner, TKey>, Func<TOuter, TInner, TResult>, IEqualityComparer<TKey>)
Constructors
PriorityGroupCollection()
public PriorityGroupCollection()
PriorityGroupCollection(IReadOnlyPriorityGroupCollection<TElement>)
public PriorityGroupCollection(IReadOnlyPriorityGroupCollection<TElement> other)
Parameters
other IReadOnlyPriorityGroupCollection<TElement>
PriorityGroupCollection(IReadOnlyPriorityGroupCollection<TElement>, IComparer<double>)
public PriorityGroupCollection(IReadOnlyPriorityGroupCollection<TElement> other, IComparer<double> prioritySorter)
Parameters
other IReadOnlyPriorityGroupCollection<TElement>
prioritySorter IComparer<double>
PriorityGroupCollection(IReadOnlyPriorityGroupCollection<TElement>, IComparer<double>, IEqualityComparer<TElement>)
public PriorityGroupCollection(IReadOnlyPriorityGroupCollection<TElement> other, IComparer<double> prioritySorter, IEqualityComparer<TElement> elementComparer)
Parameters
other IReadOnlyPriorityGroupCollection<TElement>
prioritySorter IComparer<double>
elementComparer IEqualityComparer<TElement>
PriorityGroupCollection(IReadOnlyPriorityGroupCollection<TElement>, IEqualityComparer<TElement>)
public PriorityGroupCollection(IReadOnlyPriorityGroupCollection<TElement> other, IEqualityComparer<TElement> elementComparer)
Parameters
other IReadOnlyPriorityGroupCollection<TElement>
elementComparer IEqualityComparer<TElement>
PriorityGroupCollection(IComparer<double>)
public PriorityGroupCollection(IComparer<double> prioritySorter)
Parameters
prioritySorter IComparer<double>
PriorityGroupCollection(IComparer<double>, IEqualityComparer<TElement>)
public PriorityGroupCollection(IComparer<double> prioritySorter, IEqualityComparer<TElement> elementComparer)
Parameters
prioritySorter IComparer<double>
elementComparer IEqualityComparer<TElement>
PriorityGroupCollection(IEqualityComparer<TElement>)
public PriorityGroupCollection(IEqualityComparer<TElement> elementComparer)
Parameters
elementComparer IEqualityComparer<TElement>
Properties
ElementComparer
public IEqualityComparer<TElement> ElementComparer { get; }
Property Value
- IEqualityComparer<TElement>
ElementCount
public int ElementCount { get; }
Property Value
- int
ElementPriorities
public IReadOnlyDictionary<TElement, double> ElementPriorities { get; }
Property Value
- IReadOnlyDictionary<TElement, double>
FirstPriority
public double FirstPriority { get; }
Property Value
- double
GroupCount
public int GroupCount { get; }
Property Value
- int
GroupElements
public IList<IReadOnlyCollection<TElement>> GroupElements { get; }
Property Value
- IList<IReadOnlyCollection<TElement>>
GroupPriorities
public IList<double> GroupPriorities { get; }
Property Value
- IList<double>
this[TElement]
public double this[TElement element] { get; set; }
Parameters
element TElement
Property Value
- double
LastPriority
public double LastPriority { get; }
Property Value
- double
PriorityElementGroups
public IReadOnlyDictionary<double, IReadOnlyCollection<TElement>> PriorityElementGroups { get; }
Property Value
- IReadOnlyDictionary<double, IReadOnlyCollection<TElement>>
PrioritySorter
public IComparer<double> PrioritySorter { get; }
Property Value
- IComparer<double>
Methods
Add(TElement, double)
public void Add(TElement element, double priority)
Parameters
element TElement
priority double
AddOrUpdate(TElement, double)
public void AddOrUpdate(TElement element, double priority)
Parameters
element TElement
priority double
Clear()
GetEnumerator()
public IEnumerator<KeyValuePair<double, TElement>> GetEnumerator()
Returns
- IEnumerator<KeyValuePair<double, TElement>>
GetFirstToLast()
public IEnumerable<KeyValuePair<double, TElement>> GetFirstToLast()
Returns
- IEnumerable<KeyValuePair<double, TElement>>
GetLastToFirst()
public IEnumerable<KeyValuePair<double, TElement>> GetLastToFirst()
Returns
- IEnumerable<KeyValuePair<double, TElement>>
IndexOfElement(TElement)
public int IndexOfElement(TElement element)
Parameters
element TElement
Returns
- int
IndexOfPriority(double)
public int IndexOfPriority(double priority)
Parameters
priority double
Returns
- int
MovePriorityGroup(int, int)
public void MovePriorityGroup(int oldPriority, int newPriority)
Parameters
oldPriority int
newPriority int
Remove(TElement)
public bool Remove(TElement element)
Parameters
element TElement
Returns
- bool
RemoveGroupAt(int)
public void RemoveGroupAt(int groupIndex)
Parameters
groupIndex int
RemoveGroupsWithPriority(double)
public bool RemoveGroupsWithPriority(double priority)
Parameters
priority double
Returns
- bool