30 lines
698 B
C#
30 lines
698 B
C#
using System.Collections.Generic;
|
|
|
|
namespace Packager.AssetCooker
|
|
{
|
|
/// <summary>
|
|
/// Queue of all the tasks that have to be executed
|
|
/// </summary>
|
|
public class TaskQueue
|
|
{
|
|
private readonly Queue<Task> _internalQueue;
|
|
|
|
public TaskQueue(IEnumerable<Task> taskList)
|
|
{
|
|
_internalQueue = new Queue<Task>(taskList);
|
|
}
|
|
|
|
public Task Pop()
|
|
{
|
|
lock (_internalQueue)
|
|
{
|
|
if (_internalQueue.Count > 0)
|
|
{
|
|
var result = _internalQueue.Dequeue();
|
|
return result;
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
}
|
|
}
|