// Fills with current contents of m_workingData
	void DoAddToArray( IAUDynArray<ObjectId>& objects ) const
	{
		size_t count = m_workingData.size();
		size_t origCount = objects.Size();
		objects.Resize(origCount + count);
		for (size_t i=0; i < count; ++i)
		{
			objects[i+origCount] = m_workingData[i]->GetObjectId();
		}
	}
void EntitySystem::GetAll(IAUDynArray<AUEntityId> &entities) const
{
	entities.Resize(m_Entities.size());
	TCESEntities::const_iterator it = m_Entities.begin();
	TCESEntities::const_iterator itEnd = m_Entities.end();
	for(int i = 0; it != itEnd; ++it, ++i)
	{
		entities[i] = it->second->m_id;
	}
}
void ObjectFactorySystem::GetAll(IAUDynArray<IObjectConstructor*> &constructors) const
{
    constructors.Resize(m_Constructors.size());
    std::vector<IObjectConstructor*>::const_iterator it = m_Constructors.begin();
    std::vector<IObjectConstructor*>::const_iterator itEnd = m_Constructors.end();
    for(int i = 0; it != itEnd; ++it, ++i)
    {
        constructors[i] = *it;
    }
}
	virtual void GetAll( EGameObject type, IAUDynArray<ObjectId> &objects ) const
	{
		AU_ASSERT(type < EGO_COUNT);
		if (type < EGO_COUNT)
		{
			size_t count = m_GameObjects[type].size();

			objects.Resize(count);
			TGameObjects::const_iterator it = m_GameObjects[type].begin();
			TGameObjects::const_iterator itEnd = m_GameObjects[type].end();
			for(int i = 0; it != itEnd; ++it, ++i)
			{
				objects[i] = (*it)->GetObjectId();
			}
		}	
	}