Index: /code/branches/core5/src/orxonox/PawnManager.cc
===================================================================
--- /code/branches/core5/src/orxonox/PawnManager.cc	(revision 5800)
+++ /code/branches/core5/src/orxonox/PawnManager.cc	(revision 5801)
@@ -57,5 +57,5 @@
         {
             if (!it->isAlive())
-                delete (*(it++));
+                (it++)->destroy();
             else
                 ++it;
@@ -63,5 +63,5 @@
 
         if (count == 0)
-            delete this;
+            this->destroy();
     }
 }
Index: /code/branches/core5/src/orxonox/PlayerManager.cc
===================================================================
--- /code/branches/core5/src/orxonox/PlayerManager.cc	(revision 5800)
+++ /code/branches/core5/src/orxonox/PlayerManager.cc	(revision 5801)
@@ -85,5 +85,5 @@
             // delete PlayerInfo instance
             if (player)
-                delete player;
+                player->destroy();
         }
     }
Index: /code/branches/core5/src/orxonox/controllers/WaypointController.cc
===================================================================
--- /code/branches/core5/src/orxonox/controllers/WaypointController.cc	(revision 5800)
+++ /code/branches/core5/src/orxonox/controllers/WaypointController.cc	(revision 5801)
@@ -50,5 +50,5 @@
         {
             for (size_t i = 0; i < this->waypoints_.size(); ++i)
-                delete this->waypoints_[i];
+                this->waypoints_[i]->destroy();
         }
     }
Index: /code/branches/core5/src/orxonox/gametypes/Gametype.cc
===================================================================
--- /code/branches/core5/src/orxonox/gametypes/Gametype.cc	(revision 5800)
+++ /code/branches/core5/src/orxonox/gametypes/Gametype.cc	(revision 5801)
@@ -419,5 +419,5 @@
             if (it->getGametype() == this)
             {
-                delete (*(it++));
+                (it++)->destroy();
                 ++i;
             }
Index: /code/branches/core5/src/orxonox/graphics/ParticleEmitter.cc
===================================================================
--- /code/branches/core5/src/orxonox/graphics/ParticleEmitter.cc	(revision 5800)
+++ /code/branches/core5/src/orxonox/graphics/ParticleEmitter.cc	(revision 5801)
@@ -63,5 +63,5 @@
         {
             this->detachOgreObject(this->particles_->getParticleSystem());
-            delete this->particles_;
+            this->particles_->destroy();
         }
     }
@@ -101,5 +101,5 @@
         if (this->particles_)
         {
-            delete this->particles_;
+            this->particles_->destroy();
             this->particles_ = 0;
         }
Index: /code/branches/core5/src/orxonox/graphics/ParticleSpawner.cc
===================================================================
--- /code/branches/core5/src/orxonox/graphics/ParticleSpawner.cc	(revision 5800)
+++ /code/branches/core5/src/orxonox/graphics/ParticleSpawner.cc	(revision 5801)
@@ -126,5 +126,5 @@
     void ParticleSpawner::destroyParticleSpawner()
     {
-        delete this;
+        this->destroy();
     }
 }
Index: /code/branches/core5/src/orxonox/infos/HumanPlayer.cc
===================================================================
--- /code/branches/core5/src/orxonox/infos/HumanPlayer.cc	(revision 5800)
+++ /code/branches/core5/src/orxonox/infos/HumanPlayer.cc	(revision 5801)
@@ -64,8 +64,8 @@
         {
             if (this->humanHud_)
-                delete this->humanHud_;
+                this->humanHud_->destroy();
 
             if (this->gametypeHud_)
-                delete this->gametypeHud_;
+                this->gametypeHud_->destroy();
         }
     }
@@ -170,5 +170,5 @@
         if (this->humanHud_)
         {
-            delete this->humanHud_;
+            this->humanHud_->destroy();
             this->humanHud_ = 0;
         }
@@ -186,5 +186,5 @@
         if (this->gametypeHud_)
         {
-            delete this->gametypeHud_;
+            this->gametypeHud_->destroy();
             this->gametypeHud_ = 0;
         }
Index: /code/branches/core5/src/orxonox/infos/PlayerInfo.cc
===================================================================
--- /code/branches/core5/src/orxonox/infos/PlayerInfo.cc	(revision 5800)
+++ /code/branches/core5/src/orxonox/infos/PlayerInfo.cc	(revision 5801)
@@ -66,5 +66,5 @@
             if (this->controller_)
             {
-                delete this->controller_;
+                this->controller_->destroy();
                 this->controller_ = 0;
             }
@@ -131,5 +131,5 @@
         if (this->controller_)
         {
-            delete this->controller_;
+            this->controller_->destroy();
             this->controller_ = 0;
         }
Index: /code/branches/core5/src/orxonox/items/Engine.cc
===================================================================
--- /code/branches/core5/src/orxonox/items/Engine.cc	(revision 5800)
+++ /code/branches/core5/src/orxonox/items/Engine.cc	(revision 5801)
@@ -79,5 +79,5 @@
 
             if (this->boostBlur_)
-                delete this->boostBlur_;
+                this->boostBlur_->destroy();
 
             if(this->sound_ != NULL)
@@ -237,5 +237,5 @@
             if (this->boostBlur_)
             {
-                delete this->boostBlur_;
+                this->boostBlur_->destroy();
                 this->boostBlur_ = 0;
             }
Index: /code/branches/core5/src/orxonox/items/MultiStateEngine.cc
===================================================================
--- /code/branches/core5/src/orxonox/items/MultiStateEngine.cc	(revision 5800)
+++ /code/branches/core5/src/orxonox/items/MultiStateEngine.cc	(revision 5801)
@@ -60,11 +60,11 @@
             // We have no ship, so the effects are not attached and won't be destroyed automatically
             for (std::list<WorldEntity*>::const_iterator it = this->activeEffects_.begin(); it != this->activeEffects_.end(); ++it)
-                delete (*it);
+                (*it)->destroy();
             for (std::list<WorldEntity*>::const_iterator it = this->forwardEffects_.begin(); it != this->forwardEffects_.end(); ++it)
-                delete (*it);
+                (*it)->destroy();
             for (std::list<WorldEntity*>::const_iterator it = this->boostEffects_.begin(); it != this->boostEffects_.end(); ++it)
-                delete (*it);
+                (*it)->destroy();
             for (std::list<WorldEntity*>::const_iterator it = this->brakeEffects_.begin(); it != this->brakeEffects_.end(); ++it)
-                delete (*it);
+                (*it)->destroy();
         }
     }
Index: /code/branches/core5/src/orxonox/overlays/OverlayGroup.cc
===================================================================
--- /code/branches/core5/src/orxonox/overlays/OverlayGroup.cc	(revision 5800)
+++ /code/branches/core5/src/orxonox/overlays/OverlayGroup.cc	(revision 5801)
@@ -61,5 +61,5 @@
     {
         for (std::set<OrxonoxOverlay*>::iterator it = hudElements_.begin(); it != hudElements_.end(); ++it)
-            delete (*it);
+            (*it)->destroy();
     }
 
Index: /code/branches/core5/src/orxonox/pickup/DroppedItem.cc
===================================================================
--- /code/branches/core5/src/orxonox/pickup/DroppedItem.cc	(revision 5800)
+++ /code/branches/core5/src/orxonox/pickup/DroppedItem.cc	(revision 5801)
@@ -69,5 +69,5 @@
         {
             COUT(3) << "DroppedItem '" << this->item_->getPickupIdentifier() << "' picked up." << std::endl;
-            delete this;
+            this->destroy();
         }
     }
@@ -85,8 +85,8 @@
         {
             COUT(3) << "Delete DroppedItem with '" << this->item_->getPickupIdentifier() << "'" << std::endl;
-            delete this->item_;
+            this->item_->destroy();
         }
 
-        delete this;
+        this->destroy();
     }
 
Index: /code/branches/core5/src/orxonox/pickup/ModifierPickup.cc
===================================================================
--- /code/branches/core5/src/orxonox/pickup/ModifierPickup.cc	(revision 5800)
+++ /code/branches/core5/src/orxonox/pickup/ModifierPickup.cc	(revision 5801)
@@ -139,5 +139,5 @@
                 this->timer_.stopTimer();
 
-            delete this;
+            this->destroy();
 
             return true;
Index: /code/branches/core5/src/orxonox/pickup/PickupSpawner.cc
===================================================================
--- /code/branches/core5/src/orxonox/pickup/PickupSpawner.cc	(revision 5800)
+++ /code/branches/core5/src/orxonox/pickup/PickupSpawner.cc	(revision 5801)
@@ -91,5 +91,5 @@
             asItem->addTemplate(this->itemTemplate_);
             PickupInventory::getImageForItem(asItem);
-            delete newObject;
+            newObject->destroy();
         }
 
@@ -174,5 +174,5 @@
                 }
                 else
-                    delete newObject;
+                    newObject->destroy();
             }
         }
Index: /code/branches/core5/src/orxonox/pickup/items/HealthImmediate.cc
===================================================================
--- /code/branches/core5/src/orxonox/pickup/items/HealthImmediate.cc	(revision 5800)
+++ /code/branches/core5/src/orxonox/pickup/items/HealthImmediate.cc	(revision 5801)
@@ -67,5 +67,5 @@
         {
             pawn->addHealth(this->recoveredHealth_);
-            delete this;
+            this->destroy();
         }
 
Index: /code/branches/core5/src/orxonox/pickup/items/HealthUsable.cc
===================================================================
--- /code/branches/core5/src/orxonox/pickup/items/HealthUsable.cc	(revision 5800)
+++ /code/branches/core5/src/orxonox/pickup/items/HealthUsable.cc	(revision 5801)
@@ -82,5 +82,5 @@
 
             this->removeFrom(pawn);
-            delete this;
+            this->destroy();
         }
     }
Index: /code/branches/core5/src/orxonox/pickup/items/Jump.cc
===================================================================
--- /code/branches/core5/src/orxonox/pickup/items/Jump.cc	(revision 5800)
+++ /code/branches/core5/src/orxonox/pickup/items/Jump.cc	(revision 5801)
@@ -84,5 +84,5 @@
         {
             this->removeFrom(pawn);
-            delete this;
+            this->destroy();
         }
     }
Index: /code/branches/core5/src/orxonox/weaponsystem/Weapon.cc
===================================================================
--- /code/branches/core5/src/orxonox/weaponsystem/Weapon.cc	(revision 5800)
+++ /code/branches/core5/src/orxonox/weaponsystem/Weapon.cc	(revision 5801)
@@ -62,5 +62,5 @@
 
             for (std::multimap<unsigned int, WeaponMode*>::iterator it = this->weaponmodes_.begin(); it != this->weaponmodes_.end(); ++it)
-                delete it->second;
+                it->second->destroy();
         }
     }
Index: /code/branches/core5/src/orxonox/weaponsystem/WeaponPack.cc
===================================================================
--- /code/branches/core5/src/orxonox/weaponsystem/WeaponPack.cc	(revision 5800)
+++ /code/branches/core5/src/orxonox/weaponsystem/WeaponPack.cc	(revision 5801)
@@ -54,8 +54,8 @@
 
             while (!this->weapons_.empty())
-                delete (*this->weapons_.begin());
+                (*this->weapons_.begin())->destroy();
 
             for (std::set<DefaultWeaponmodeLink*>::iterator it = this->links_.begin(); it != this->links_.end(); )
-                delete (*(it++));
+                (*(it++))->destroy();
         }
     }
Index: /code/branches/core5/src/orxonox/weaponsystem/WeaponSystem.cc
===================================================================
--- /code/branches/core5/src/orxonox/weaponsystem/WeaponSystem.cc	(revision 5800)
+++ /code/branches/core5/src/orxonox/weaponsystem/WeaponSystem.cc	(revision 5801)
@@ -62,14 +62,14 @@
 
             while (!this->weaponSets_.empty())
-                delete (this->weaponSets_.begin()->second);
+                this->weaponSets_.begin()->second->destroy();
 
             while (!this->weaponPacks_.empty())
-                delete (*this->weaponPacks_.begin());
+                (*this->weaponPacks_.begin())->destroy();
 
             while (!this->weaponSlots_.empty())
-                delete (*this->weaponSlots_.begin());
+                (*this->weaponSlots_.begin())->destroy();
 
             while (!this->munitions_.empty())
-                { delete (this->munitions_.begin()->second); this->munitions_.erase(this->munitions_.begin()); }
+                { this->munitions_.begin()->second->destroy(); this->munitions_.erase(this->munitions_.begin()); }
         }
     }
Index: /code/branches/core5/src/orxonox/worldentities/BigExplosion.cc
===================================================================
--- /code/branches/core5/src/orxonox/worldentities/BigExplosion.cc	(revision 5800)
+++ /code/branches/core5/src/orxonox/worldentities/BigExplosion.cc	(revision 5801)
@@ -226,10 +226,10 @@
             {
                 this->debris1_->detachOgreObject(this->debrisFire1_->getParticleSystem());
-                delete this->debrisFire1_;
+                this->debrisFire1_->destroy();
             }
             if (this->debrisSmoke1_)
             {
                 this->debris1_->detachOgreObject(this->debrisSmoke1_->getParticleSystem());
-                delete this->debrisSmoke1_;
+                this->debrisSmoke1_->destroy();
             }
 
@@ -237,10 +237,10 @@
             {
                 this->debris2_->detachOgreObject(this->debrisFire2_->getParticleSystem());
-                delete this->debrisFire2_;
+                this->debrisFire2_->destroy();
             }
             if (this->debrisSmoke2_)
             {
                 this->debris2_->detachOgreObject(this->debrisSmoke2_->getParticleSystem());
-                delete this->debrisSmoke2_;
+                this->debrisSmoke2_->destroy();
             }
 
@@ -248,10 +248,10 @@
             {
                 this->debris3_->detachOgreObject(this->debrisFire3_->getParticleSystem());
-                delete this->debrisFire3_;
+                this->debrisFire3_->destroy();
             }
             if (this->debrisSmoke3_)
             {
                 this->debris3_->detachOgreObject(this->debrisSmoke3_->getParticleSystem());
-                delete this->debrisSmoke3_;
+                this->debrisSmoke3_->destroy();
             }
 
@@ -259,10 +259,10 @@
             {
                 this->debris4_->detachOgreObject(this->debrisFire4_->getParticleSystem());
-                delete this->debrisFire4_;
+                this->debrisFire4_->destroy();
             }
             if (this->debrisSmoke4_)
             {
                 this->debris4_->detachOgreObject(this->debrisSmoke4_->getParticleSystem());
-                delete this->debrisSmoke4_;
+                this->debrisSmoke4_->destroy();
             }
         }
Index: /code/branches/core5/src/orxonox/worldentities/ControllableEntity.cc
===================================================================
--- /code/branches/core5/src/orxonox/worldentities/ControllableEntity.cc	(revision 5800)
+++ /code/branches/core5/src/orxonox/worldentities/ControllableEntity.cc	(revision 5801)
@@ -96,14 +96,14 @@
 
             if (this->xmlcontroller_)
-                delete this->xmlcontroller_;
+                this->xmlcontroller_->destroy();
 
             if (this->hud_)
-                delete this->hud_;
+                this->hud_->destroy();
 
             if (this->camera_)
-                delete this->camera_;
+                this->camera_->destroy();
 
             for (std::list<CameraPosition*>::const_iterator it = this->cameraPositions_.begin(); it != this->cameraPositions_.end(); ++it)
-                delete (*it);
+                (*it)->destroy();
 
             if (this->getScene()->getSceneManager())
@@ -259,5 +259,5 @@
 
         if (this->bDestroyWhenPlayerLeft_)
-            delete this;
+            this->destroy();
     }
 
@@ -303,5 +303,5 @@
         {
             this->camera_->detachFromParent();
-            delete this->camera_;
+            this->camera_->destroy();
             this->camera_ = 0;
         }
@@ -309,5 +309,5 @@
         if (this->hud_)
         {
-            delete this->hud_;
+            this->hud_->destroy();
             this->hud_ = 0;
         }
Index: /code/branches/core5/src/orxonox/worldentities/ExplosionChunk.cc
===================================================================
--- /code/branches/core5/src/orxonox/worldentities/ExplosionChunk.cc	(revision 5800)
+++ /code/branches/core5/src/orxonox/worldentities/ExplosionChunk.cc	(revision 5801)
@@ -92,10 +92,10 @@
             {
                 this->detachOgreObject(this->fire_->getParticleSystem());
-                delete this->fire_;
+                this->fire_->destroy();
             }
             if (this->smoke_)
             {
                 this->detachOgreObject(this->smoke_->getParticleSystem());
-                delete this->smoke_;
+                this->smoke_->destroy();
             }
         }
Index: /code/branches/core5/src/orxonox/worldentities/MovableEntity.cc
===================================================================
--- /code/branches/core5/src/orxonox/worldentities/MovableEntity.cc	(revision 5800)
+++ /code/branches/core5/src/orxonox/worldentities/MovableEntity.cc	(revision 5801)
@@ -61,5 +61,5 @@
         if (this->isInitialized())
             if (this->continuousResynchroTimer_)
-                delete this->continuousResynchroTimer_;
+                this->continuousResynchroTimer_->destroy();
     }
 
Index: /code/branches/core5/src/orxonox/worldentities/WorldEntity.cc
===================================================================
--- /code/branches/core5/src/orxonox/worldentities/WorldEntity.cc	(revision 5800)
+++ /code/branches/core5/src/orxonox/worldentities/WorldEntity.cc	(revision 5801)
@@ -119,5 +119,5 @@
             {
                 if ((*it)->getDeleteWithParent())
-                    delete (*(it++));
+                    (*(it++))->destroy();
                 else
                 {
@@ -132,5 +132,5 @@
                 delete this->physicalBody_;
             }
-            delete this->collisionShape_;
+            this->collisionShape_->destroy();
 
             this->node_->detachAllObjects();
Index: /code/branches/core5/src/orxonox/worldentities/pawns/Pawn.cc
===================================================================
--- /code/branches/core5/src/orxonox/worldentities/pawns/Pawn.cc	(revision 5800)
+++ /code/branches/core5/src/orxonox/worldentities/pawns/Pawn.cc	(revision 5801)
@@ -97,5 +97,5 @@
 
             if (this->weaponSystem_)
-                delete this->weaponSystem_;
+                this->weaponSystem_->destroy();
         }
     }
Index: /code/branches/core5/src/orxonox/worldentities/pawns/SpaceShip.cc
===================================================================
--- /code/branches/core5/src/orxonox/worldentities/pawns/SpaceShip.cc	(revision 5800)
+++ /code/branches/core5/src/orxonox/worldentities/pawns/SpaceShip.cc	(revision 5801)
@@ -75,5 +75,5 @@
     {
         if (this->isInitialized() && this->engine_)
-            delete this->engine_;
+            this->engine_->destroy();
     }
 
@@ -207,5 +207,5 @@
                     else
                     {
-                        delete object;
+                        object->destroy();
                     }
                 }
