// Prints information about all of the universes in the array
// to a given player.
void CHSUniverseDBDef::PrintInfo(int player)
{
    if (m_mapUniverses.empty())
    {
        hsInterface.Notify(player, "No universes currently loaded.");
        return;
    }

    hsInterface.Notify(player,
                       "[Room#] Name                            Objects    Active");

    CSTLUniverseMap::iterator iter;
    for (iter = m_mapUniverses.begin(); iter != m_mapUniverses.end(); iter++)
    {
        CHSUniverse *pUniverse = iter->second;
        if (pUniverse)
        {
            hsInterface.Notify(player,
                               hsInterface.
                               HSPrintf("[%5d] %-32s%4d       %4d",
                                        pUniverse->GetID(),
                                        pUniverse->GetName(),
                                        pUniverse->GetNumObjects(),
                                        pUniverse->GetNumActiveObjects()));
        }
    }
}
void CHSHandlerUniverse::HandleGetUniverseList(CHSPacket * pPacket)
{
    hs_log("ADMIN SERVER: Handle packet GetUniverseList");
    CHSPGetUniverseList *cmdGetList =
        static_cast < CHSPGetUniverseList * >(pPacket);

    // Create a class list packet as a response.
    CHSPUniverseList cmdList;
    cmdList.SetPacketAddress(cmdGetList->GetPacketAddress());

    THSUniverseIterator tIter;
    HS_BOOL8 bContinue;

    for (bContinue = CHSUniverseDB::GetInstance().GetFirstUniverse(tIter);
         bContinue;
         bContinue = CHSUniverseDB::GetInstance().GetNextUniverse(tIter))
    {
        if (tIter.pValue != NULL)
        {
            CHSUniverse *pUniverse = (CHSUniverse *) tIter.pValue;

            CHSPUniverseList::THSUniverse tEntry;

            tEntry.uiID = pUniverse->GetID();
            tEntry.strName = pUniverse->GetName();
            tEntry.uiNumObjects = pUniverse->GetNumObjects();
            tEntry.uiNumActiveObjects = pUniverse->GetNumActiveObjects();

            cmdList.AddUniverse(tEntry);
        }
    }

    HSNetwork.SendPacket(cmdList);
}