From 89c0bc88bd4ebdc44dfb99235609c90e968af533 Mon Sep 17 00:00:00 2001 From: Stijn Buys Date: Sun, 15 Nov 2009 14:20:13 +0000 Subject: added core::Info id, changed network info message, updated entity network message to include the info id --- src/core/gameinterface.cc | 43 ++++++++++++++++--------------------------- 1 file changed, 16 insertions(+), 27 deletions(-) (limited to 'src/core/gameinterface.cc') diff --git a/src/core/gameinterface.cc b/src/core/gameinterface.cc index b37f11a..5caa270 100644 --- a/src/core/gameinterface.cc +++ b/src/core/gameinterface.cc @@ -102,21 +102,26 @@ GameInterface::~GameInterface() // clear all game related objects void GameInterface::clear() { - //con_debug << "Clearing game data\n"; - // remove all entities - for (Entity::Registry::iterator it = Entity::registry().begin(); it != Entity::registry().end(); it++) { - delete(*it).second; - } - Entity::registry().clear(); + Entity::clear(); // remove all zones - for (Zone::Registry::iterator it = Zone::registry().begin(); it != Zone::registry().end(); it++) { - Zone *zone = (*it).second; - con_debug " removing zone " << zone->label() << std::endl; - delete zone; + Zone::clear(); + + // remove info records + Info::clear(); + + // remove all models + model::Model::clear(); + + // clear player list + for (Players::iterator it = game_players.begin(); it != game_players.end(); it++) { + Player *player = (*it); + if (player != localplayer()) { + delete player; + } } - Zone::registry().clear(); + game_players.clear(); // remove all game functions for (Func::Registry::iterator it = Func::registry().begin(); it != Func::registry().end();) { @@ -137,22 +142,6 @@ void GameInterface::clear() ++it; } } - - // remove all models - model::Model::clear(); - - // remove infos - Info::clear(); - - // clear player list - for (Players::iterator it = game_players.begin(); it != game_players.end(); it++) { - Player *player = (*it); - if (player != localplayer()) { - delete player; - } - } - - game_players.clear(); } -- cgit v1.2.3