Index: /code/branches/core7/src/orxonox/CMakeLists.txt
===================================================================
--- /code/branches/core7/src/orxonox/CMakeLists.txt	(revision 10419)
+++ /code/branches/core7/src/orxonox/CMakeLists.txt	(revision 10420)
@@ -29,7 +29,5 @@
   Main.cc
   MoodManager.cc
-  PawnManager.cc
   PlayerManager.cc
-  ShipPartManager.cc
   Radar.cc
 #  Test.cc
Index: /code/branches/core7/src/orxonox/OrxonoxPrereqs.h
===================================================================
--- /code/branches/core7/src/orxonox/OrxonoxPrereqs.h	(revision 10419)
+++ /code/branches/core7/src/orxonox/OrxonoxPrereqs.h	(revision 10420)
@@ -73,5 +73,4 @@
     class LevelInfoItem;
     class LevelManager;
-    class PawnManager;
     class PlayerManager;
     class Radar;
Index: de/branches/core7/src/orxonox/PawnManager.cc
===================================================================
--- /code/branches/core7/src/orxonox/PawnManager.cc	(revision 10419)
+++ 	(revision )
@@ -1,63 +1,0 @@
-/*
- *   ORXONOX - the hottest 3D action shooter ever to exist
- *                    > www.orxonox.net <
- *
- *
- *   License notice:
- *
- *   This program is free software; you can redistribute it and/or
- *   modify it under the terms of the GNU General Public License
- *   as published by the Free Software Foundation; either version 2
- *   of the License, or (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *   GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program; if not, write to the Free Software
- *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
- *
- *   Author:
- *      Fabian 'x3n' Landau
- *   Co-authors:
- *      ...
- *
- */
-
-#include "PawnManager.h"
-
-#include "core/CoreIncludes.h"
-#include "core/singleton/ScopedSingletonManager.h"
-#include "worldentities/pawns/Pawn.h"
-
-namespace orxonox
-{
-    ManageScopedSingleton(PawnManager, ScopeID::Root, false);
-
-    RegisterAbstractClass(PawnManager).inheritsFrom<UpdateListener>();
-
-    PawnManager::PawnManager()
-    {
-        RegisterObject(PawnManager);
-    }
-
-    PawnManager::~PawnManager()
-    {
-        // Be sure to delete all the pawns
-        for (ObjectList<Pawn>::iterator it = ObjectList<Pawn>::begin(); it != ObjectList<Pawn>::end(); )
-            (it++)->destroy();
-    }
-
-    void PawnManager::postUpdate(const Clock& time)
-    {
-        for (ObjectList<Pawn>::iterator it = ObjectList<Pawn>::begin(); it != ObjectList<Pawn>::end(); )
-        {
-            if (!it->isAlive())
-                (it++)->destroy();
-            else
-                ++it;
-        }
-    }
-}
Index: de/branches/core7/src/orxonox/PawnManager.h
===================================================================
--- /code/branches/core7/src/orxonox/PawnManager.h	(revision 10419)
+++ 	(revision )
@@ -1,55 +1,0 @@
-/*
- *   ORXONOX - the hottest 3D action shooter ever to exist
- *                    > www.orxonox.net <
- *
- *
- *   License notice:
- *
- *   This program is free software; you can redistribute it and/or
- *   modify it under the terms of the GNU General Public License
- *   as published by the Free Software Foundation; either version 2
- *   of the License, or (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *   GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program; if not, write to the Free Software
- *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
- *
- *   Author:
- *      Fabian 'x3n' Landau
- *   Co-authors:
- *      ...
- *
- */
-
-#ifndef _PawnManager_H__
-#define _PawnManager_H__
-
-#include "OrxonoxPrereqs.h"
-
-#include "util/Singleton.h"
-#include "core/UpdateListener.h"
-
-namespace orxonox
-{
-    class _OrxonoxExport PawnManager : public Singleton<PawnManager>, public UpdateListener
-    {
-            friend class Singleton<PawnManager>;
-        public:
-            PawnManager();
-            virtual ~PawnManager();
-
-            virtual void preUpdate(const Clock& time) { /*no action*/ }
-            virtual void postUpdate(const Clock& time);
-
-        private:
-
-            static PawnManager* singletonPtr_s;
-    };
-}
-
-#endif /* _PawnManager_H__ */
Index: de/branches/core7/src/orxonox/ShipPartManager.cc
===================================================================
--- /code/branches/core7/src/orxonox/ShipPartManager.cc	(revision 10419)
+++ 	(revision )
@@ -1,63 +1,0 @@
-/*
- *   ORXONOX - the hottest 3D action shooter ever to exist
- *                    > www.orxonox.net <
- *
- *
- *   License notice:
- *
- *   This program is free software; you can redistribute it and/or
- *   modify it under the terms of the GNU General Public License
- *   as published by the Free Software Foundation; either version 2
- *   of the License, or (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *   GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program; if not, write to the Free Software
- *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
- *
- *   Author:
- *      Fabian 'x3n' Landau
- *   Co-authors:
- *      ...
- *
- */
-
-#include "ShipPartManager.h"
-
-#include "core/CoreIncludes.h"
-#include "core/singleton/ScopedSingletonManager.h"
-#include "items/ShipPart.h"
-
-namespace orxonox
-{
-    ManageScopedSingleton(ShipPartManager, ScopeID::Root, false);
-
-    RegisterAbstractClass(ShipPartManager).inheritsFrom<UpdateListener>();
-
-    ShipPartManager::ShipPartManager()
-    {
-        RegisterObject(ShipPartManager);
-    }
-
-    ShipPartManager::~ShipPartManager()
-    {
-        // Be sure to delete all the ship parts
-        for (ObjectList<ShipPart>::iterator it = ObjectList<ShipPart>::begin(); it != ObjectList<ShipPart>::end(); )
-            (it++)->destroy();
-    }
-
-    void ShipPartManager::postUpdate(const Clock& time)
-    {
-        for (ObjectList<ShipPart>::iterator it = ObjectList<ShipPart>::begin(); it != ObjectList<ShipPart>::end(); )
-        {
-            if (!it->isAlive())
-                (it++)->destroy();
-            else
-                ++it;
-        }
-    }
-}
Index: de/branches/core7/src/orxonox/ShipPartManager.h
===================================================================
--- /code/branches/core7/src/orxonox/ShipPartManager.h	(revision 10419)
+++ 	(revision )
@@ -1,55 +1,0 @@
-/*
- *   ORXONOX - the hottest 3D action shooter ever to exist
- *                    > www.orxonox.net <
- *
- *
- *   License notice:
- *
- *   This program is free software; you can redistribute it and/or
- *   modify it under the terms of the GNU General Public License
- *   as published by the Free Software Foundation; either version 2
- *   of the License, or (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *   GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program; if not, write to the Free Software
- *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
- *
- *   Author:
- *      Fabian 'x3n' Landau
- *   Co-authors:
- *      ...
- *
- */
-
-#ifndef _ShipPartManager_H__
-#define _ShipPartManager_H__
-
-#include "OrxonoxPrereqs.h"
-
-#include "util/Singleton.h"
-#include "core/UpdateListener.h"
-
-namespace orxonox
-{
-    class _OrxonoxExport ShipPartManager : public Singleton<ShipPartManager>, public UpdateListener
-    {
-            friend class Singleton<ShipPartManager>;
-        public:
-            ShipPartManager();
-            virtual ~ShipPartManager();
-
-            virtual void preUpdate(const Clock& time) { /*no action*/ }
-            virtual void postUpdate(const Clock& time);
-
-        private:
-
-            static ShipPartManager* singletonPtr_s;
-    };
-}
-
-#endif /* _ShipPartManager_H__ */
Index: /code/branches/core7/src/orxonox/collisionshapes/CollisionShape.cc
===================================================================
--- /code/branches/core7/src/orxonox/collisionshapes/CollisionShape.cc	(revision 10419)
+++ /code/branches/core7/src/orxonox/collisionshapes/CollisionShape.cc	(revision 10420)
@@ -78,5 +78,5 @@
         {
             if (this->getScene() && this->getScene()->isUpdatingPhysics())
-                orxout(internal_error) << "Don't destroy collision shapes while the physics is updated! This will lead to crashes" << endl;
+                orxout(internal_error) << "Don't destroy collision shapes while the physics is updated! This will lead to crashes. Try to use destroyLater() instead" << endl;
 
             if (this->parent_)
Index: /code/branches/core7/src/orxonox/items/ShipPart.cc
===================================================================
--- /code/branches/core7/src/orxonox/items/ShipPart.cc	(revision 10419)
+++ /code/branches/core7/src/orxonox/items/ShipPart.cc	(revision 10420)
@@ -53,5 +53,4 @@
     {
         RegisterObject(ShipPart);
-        this->alive_ = true;
         this->eventExecution_ = true;
         this->healthMem_ = 100;
@@ -90,9 +89,5 @@
     void ShipPart::death()
     {
-        //if (!(this->isAlive()))
-            //return;
-
         this->explode();
-        this->setAlive(false);
 
         if(eventExecution_)
@@ -104,4 +99,6 @@
             }
         }
+
+        this->destroyLater();
     }
 
@@ -203,10 +200,4 @@
     {
         this->health_ = health;
-    }
-
-    void ShipPart::setAlive(bool var)
-    {
-        this->alive_ = var;
-        orxout() << "ShipPart " << this->getName() << " alive_: " << this->alive_ << endl;
     }
 
Index: /code/branches/core7/src/orxonox/items/ShipPart.h
===================================================================
--- /code/branches/core7/src/orxonox/items/ShipPart.h	(revision 10419)
+++ /code/branches/core7/src/orxonox/items/ShipPart.h	(revision 10420)
@@ -72,8 +72,4 @@
                 { return this->parent_; }
 
-            void setAlive(bool var);
-            inline bool isAlive()
-                { return this->alive_; }
-
             inline void setEventExecution(bool var)
                 { this->eventExecution_ = var; }
@@ -121,5 +117,4 @@
             std::vector<PartDestructionEvent*> eventList_;  // The list of all PartDestructionEvent assigned to this ShipPart.
 
-            bool alive_;
             bool eventExecution_;
 
Index: /code/branches/core7/src/orxonox/worldentities/pawns/Pawn.cc
===================================================================
--- /code/branches/core7/src/orxonox/worldentities/pawns/Pawn.cc	(revision 10419)
+++ /code/branches/core7/src/orxonox/worldentities/pawns/Pawn.cc	(revision 10420)
@@ -326,6 +326,7 @@
         if (this->getGametype() && this->getGametype()->allowPawnDeath(this, this->lastHitOriginator_))
         {
-            // Set bAlive_ to false and wait for PawnManager to do the destruction
+            // Set bAlive_ to false and wait for destroyLater() to do the destruction
             this->bAlive_ = false;
+            this->destroyLater();
 
             this->setDestroyWhenPlayerLeft(false);
