Author: conkerjo
(2009/07/01 23:49) Over 2 years ago
refactoring
11
{
12
public List<int> BlockedTiles = new List<int>();
13
14
public PriorityQueueB<PathfinderNode> openQueue;
internal PriorityQueueB<PathfinderNode> openQueue;
15
16
public List<PathfinderNode> closeList;
17
/// <typeparam name="TValue">The type of object in the queue.</typeparam>
/// <typeparam name="TPriority">The type of the priority field.</typeparam>
[Serializable]
public struct PriorityQueueItem<TValue, TPriority>
internal struct PriorityQueueItem<TValue, TPriority>
18
private TValue value;
19
private TPriority priority;
...
49
50
51
[ComVisible(false)]
52
public class PriorityQueue<TValue, TPriority> : ICollection,
internal class PriorityQueue<TValue, TPriority> : ICollection, IEnumerable<PriorityQueueItem<TValue, TPriority>>
53
IEnumerable<PriorityQueueItem<TValue, TPriority>>
54
55
private PriorityQueueItem<TValue, TPriority>[] items;
56
64
/// Initializes a new instance of the PriorityQueue class that is empty,
63
65
/// has the default initial capacity, and uses the default IComparer.
66
/// </summary>
67
public PriorityQueue()
public PriorityQueue() : this(DefaultCapacity, Comparer<TPriority>.Default)
68
: this(DefaultCapacity, Comparer<TPriority>.Default)
69
70
}
71
74
/// has the specified initial capacity, and uses the default IComparer.
72
75
73
76
/// <param name="initialCapacity">Desired initial capacity.</param>
77
public PriorityQueue(Int32 initialCapacity)
public PriorityQueue(Int32 initialCapacity) : this(initialCapacity, Comparer<TPriority>.Default)
78
: this(initialCapacity, Comparer<TPriority>.Default)
79
80
81
85
82
86
/// <param name="comparer">An object that implements the IComparer interface
83
87
/// for items of type TPriority.</param>
84
88
public PriorityQueue(IComparer<TPriority> comparer)
public PriorityQueue(IComparer<TPriority> comparer) : this(DefaultCapacity, comparer)
89
: this(DefaultCapacity, comparer)
90
91
92
427
423
428
#endregion
424
429
425
430
public class PriorityQueueB<T> : IPriorityQueue<T>
426
internal class PriorityQueueB<T> : IPriorityQueue<T>
431
432
#region Variables Declaration
433
protected List<T> InnerList = new List<T>();
{{public PriorityQueueB<PathfinderNode> openQueue;internal PriorityQueueB<PathfinderNode> openQueue;public struct PriorityQueueItem<TValue, TPriority>internal struct PriorityQueueItem<TValue, TPriority>{{public class PriorityQueue<TValue, TPriority> : ICollection,internal class PriorityQueue<TValue, TPriority> : ICollection, IEnumerable<PriorityQueueItem<TValue, TPriority>>IEnumerable<PriorityQueueItem<TValue, TPriority>>{{public PriorityQueue() : this(DefaultCapacity, Comparer<TPriority>.Default): this(DefaultCapacity, Comparer<TPriority>.Default){{public PriorityQueue(Int32 initialCapacity) : this(initialCapacity, Comparer<TPriority>.Default): this(initialCapacity, Comparer<TPriority>.Default){{public PriorityQueue(IComparer<TPriority> comparer) : this(DefaultCapacity, comparer): this(DefaultCapacity, comparer){{public class PriorityQueueB<T> : IPriorityQueue<T>internal class PriorityQueueB<T> : IPriorityQueue<T>{{