private void ReleaseObjects()
{
// Go through the live objects and release them all
LinkedListNode<PoolableGameObject> node = _liveObjs.First;
while (node != null)
{
if (node.Value != null)
{
node.Value.Release();
}
else
{
_liveObjs.RemoveFirst();
_pooledNodes.Push(node);
}
// Release removes us from the list
node = _liveObjs.First;
}
}