summaryrefslogtreecommitdiffstats
path: root/src/Server.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Server.cpp')
-rw-r--r--src/Server.cpp18
1 files changed, 12 insertions, 6 deletions
diff --git a/src/Server.cpp b/src/Server.cpp
index 89dccb1f1..6ddb14ae5 100644
--- a/src/Server.cpp
+++ b/src/Server.cpp
@@ -498,20 +498,26 @@ void cServer::ExecuteConsoleCommand(const AString & a_Cmd, cCommandOutputCallbac
}
if (split[0] == "destroyentities")
{
- cRoot::Get()->ForEachWorld([](cWorld & a_World)
+ class WorldCallback : public cWorldListCallback
+ {
+ virtual bool Item(cWorld * a_World) override
{
- a_World.ForEachEntity([](cEntity & a_Entity)
+ class EntityCallback : public cEntityCallback
+ {
+ virtual bool Item(cEntity * a_Entity) override
{
- if (!a_Entity.IsPlayer())
+ if (!a_Entity->IsPlayer())
{
- a_Entity.Destroy();
+ a_Entity->Destroy();
}
return false;
}
- );
+ } EC;
+ a_World->ForEachEntity(EC);
return false;
}
- );
+ } WC;
+ cRoot::Get()->ForEachWorld(WC);
a_Output.Out("Destroyed all entities");
a_Output.Finished();
return;