Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ EnqueueDequeue()

TElement System.Collections.Generic.PriorityQueue< TElement, TPriority >.EnqueueDequeue ( TElement element,
TPriority priority )
inline

Definition at line 261 of file PriorityQueue.cs.

262 {
263 if (_size != 0)
264 {
265 (TElement, TPriority) tuple = _nodes[0];
266 if (_comparer == null)
267 {
268 if (Comparer<TPriority>.Default.Compare(priority, tuple.Item2) > 0)
269 {
270 MoveDownDefaultComparer((Element: element, Priority: priority), 0);
271 _version++;
272 return tuple.Item1;
273 }
274 }
275 else if (_comparer.Compare(priority, tuple.Item2) > 0)
276 {
277 MoveDownCustomComparer((Element: element, Priority: priority), 0);
278 _version++;
279 return tuple.Item1;
280 }
281 }
282 return element;
283 }
readonly IComparer< TPriority > _comparer
void MoveDownDefaultComparer((TElement Element, TPriority Priority) node, int nodeIndex)
TElement TPriority Priority[] _nodes
void MoveDownCustomComparer((TElement Element, TPriority Priority) node, int nodeIndex)

References System.Collections.Generic.PriorityQueue< TElement, TPriority >._comparer, System.Collections.Generic.PriorityQueue< TElement, TPriority >._nodes, System.Collections.Generic.PriorityQueue< TElement, TPriority >._size, System.Collections.Generic.PriorityQueue< TElement, TPriority >._version, System.Collections.Generic.IComparer< in T >.Compare(), System.Default, System.Collections.Generic.PriorityQueue< TElement, TPriority >.Element, System.Collections.Generic.PriorityQueue< TElement, TPriority >.MoveDownCustomComparer(), and System.Collections.Generic.PriorityQueue< TElement, TPriority >.MoveDownDefaultComparer().