BuildOrder FindNextBuildOrder(BuildOrder previousBuildOrder)
{
if (m_buildOrderQueue.Count == 0)
return null;
int idx;
if (previousBuildOrder != null)
idx = m_buildOrderQueue.IndexOf(previousBuildOrder);
else
idx = -1;
for (int i = 0; i < m_buildOrderQueue.Count; ++i)
{
idx = (idx + 1) % m_buildOrderQueue.Count;
var buildOrder = m_buildOrderQueue[idx];
if (buildOrder.IsSuspended)
continue;
return buildOrder;
}
return null;
}