Made ForEach API safer to use, now supports Destroy()-ing objects, too ( http://forum.mc-server.org/showthread.php?tid=434&pid=3513#pid3513 )
git-svn-id: http://mc-server.googlecode.com/svn/trunk@633 0a769ca7-a7f5-676a-18bf-c427514a06d6
This commit is contained in:
@@ -289,8 +289,9 @@ cWorld* cRoot::GetWorld( const AString & a_WorldName )
|
||||
|
||||
bool cRoot::ForEachWorld(cWorldListCallback & a_Callback)
|
||||
{
|
||||
for( WorldMap::iterator itr = m_pState->WorldsByName.begin(); itr != m_pState->WorldsByName.end(); ++itr )
|
||||
for (WorldMap::iterator itr = m_pState->WorldsByName.begin(), itr2 = itr; itr != m_pState->WorldsByName.end(); itr = itr2)
|
||||
{
|
||||
++itr2;
|
||||
if (a_Callback.Item(itr->second))
|
||||
{
|
||||
return false;
|
||||
@@ -379,8 +380,9 @@ void cRoot::SaveAllChunks(void)
|
||||
|
||||
bool cRoot::ForEachPlayer(cPlayerListCallback & a_Callback)
|
||||
{
|
||||
for (WorldMap::iterator itr = m_pState->WorldsByName.begin(); itr != m_pState->WorldsByName.end(); ++itr)
|
||||
for (WorldMap::iterator itr = m_pState->WorldsByName.begin(), itr2 = itr; itr != m_pState->WorldsByName.end(); itr = itr2)
|
||||
{
|
||||
++itr2;
|
||||
if (!itr->second->ForEachPlayer(a_Callback))
|
||||
{
|
||||
return false;
|
||||
|
||||
Reference in New Issue
Block a user