Added a destroy() function to manually destroy DestroyableObjects
Added a destroy() function to manually destroy DestroyableObjects

--- a/DestroyableObject.cpp
+++ b/DestroyableObject.cpp
@@ -11,16 +11,28 @@
 
 void DestroyableObject::setLife(double life)
 { 
-  if(life<0)
+  if(_life==0) return;
+
+  _life=life;
+
+  if(_life<=0)
     {
-      life=0;
-      _rigidBody->remove();
+      destroy();
     }
-  _life=life;
 }
 double DestroyableObject::life()
 {
   return _life;
+}
+
+void DestroyableObject::destroy()
+{
+  if(_rigidBody)
+    {
+      _rigidBody->remove();
+      _life=0;
+      _rigidBody=0;
+    }
 }
 
 ISceneNode* DestroyableObject::sceneNode()

--- a/DestroyableObject.h
+++ b/DestroyableObject.h
@@ -18,6 +18,8 @@
   virtual void setLife(double life);
   double life();
 
+  void destroy();
+
   ISceneNode *sceneNode();
   IRigidBody *rigidBody();