Table of Contents

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

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

public void 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