JD2022-TU1/main/tools/apps/Packager/AssetCooker/TaskQueue.cs

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;
}
}
}