Index: code/branches/spaceboundaries/src/orxonox/worldentities/CMakeLists.txt
===================================================================
--- code/branches/spaceboundaries/src/orxonox/worldentities/CMakeLists.txt	(revision 8108)
+++ code/branches/spaceboundaries/src/orxonox/worldentities/CMakeLists.txt	(revision 8110)
@@ -12,4 +12,5 @@
   SpawnPoint.cc
   TeamSpawnPoint.cc
+  SpaceBoundaries.cc
 )
 
Index: code/branches/spaceboundaries/src/orxonox/worldentities/SpaceBoundaries.cc
===================================================================
--- code/branches/spaceboundaries/src/orxonox/worldentities/SpaceBoundaries.cc	(revision 8108)
+++ code/branches/spaceboundaries/src/orxonox/worldentities/SpaceBoundaries.cc	(revision 8110)
@@ -30,5 +30,4 @@
 
 /* Folgender Block ist Copy-Paste und somit teilweise wohl unnoetig */
-#include "core/CoreIncludes.h"
 #include "core/Template.h"
 #include "core/XMLPort.h"
@@ -37,4 +36,6 @@
 
 /* Eigene, spezifische include-Statements*/
+#include "worldentities/MobileEntity.h"
+#include "core/ObjectListIterator.h"
 
 namespace orxonox
@@ -45,17 +46,93 @@
     {
         RegisterObject(SpaceBoundaries);
+        
+        // Show Boundaries on the radar.
     }
-    
     SpaceBoundaries::~SpaceBoundaries()
     {
     
     }
+    
+    void SpaceBoundaries::setCenter(Vector3 r)
+    {
+        this->center = r;
+    }
+    Vector3 SpaceBoundaries::getCenter()
+    {
+        return this->center;
+    }
+    
+    void SpaceBoundaries::setMaxDistance(float r)
+    {
+        this->maxDistance = r;
+    }
+    float SpaceBoundaries::getMaxDistance()
+    {
+        return this->maxDistance;
+    }
+    
+    void SpaceBoundaries::setWarnDistance(float r)
+    {
+        this->warnDistance = r;
+    }
+    float SpaceBoundaries::getWarnDistance()
+    {
+        return this->warnDistance;
+    }
 
     void SpaceBoundaries::XMLPort(Element& xmlelement, XMLPort::Mode mode)
     {
-    //    SUPER(SpaceBoundaries, XMLPort, xmlelement, mode);
+        SUPER(SpaceBoundaries, XMLPort, xmlelement, mode);
 
-    //    XMLPortParam(SpaceBoundaries, "spawnclass", setSpawnClassName, getSpawnClassName, xmlelement, mode);
-    //    XMLPortParam(SpaceBoundaries, "pawndesign", setTemplateName, getTemplateName, xmlelement, mode);
+        XMLPortParam(SpaceBoundaries, "center", setCenter, getCenter, xmlelement, mode);
+        XMLPortParam(SpaceBoundaries, "maxDistance", setMaxDistance, getMaxDistance, xmlelement, mode);
+        XMLPortParam(SpaceBoundaries, "warnDistance", setWarnDistance, getWarnDistance, xmlelement, mode);
     }
+    
+    void SpaceBoundaries::tick(float dt)
+    {
+        for(ObjectListIterator<MobileEntity> item = ObjectList<MobileEntity>::begin(); item != ObjectList<MobileEntity>::end(); ++item)
+        {
+            float distance = computeDistance((WorldEntity *)&item); // fuer casts gibt's scheinbar andere, neuere Variante --> vgl. Coding-Guide und andere Files
+            if(distance > this->warnDistance && distance < this->maxDistance)
+            {
+                COUT(0) << "You are leaving the area" << std::endl; //!< message for debugging
+                // Display Warning on Screen if the humanPlayer (infos/PlayerInfo.h) is leaving the area
+            } else if(distance > maxDistance)
+            {
+                // Decrease Health
+            }
+        }
+    }
+    
+    float SpaceBoundaries::computeDistance(WorldEntity *item)
+    {
+        Vector3 itemPosition = item->getPosition();
+        return (itemPosition.distance(center));
+    }
+    
+    
+    
+    
+    
+    
+    
+    
+    
+    
+    
+    
+    
+    
+    
+    
+    
+    
+    
+    
+    
+    
+    
+    
+    
 }
Index: code/branches/spaceboundaries/src/orxonox/worldentities/SpaceBoundaries.h
===================================================================
--- code/branches/spaceboundaries/src/orxonox/worldentities/SpaceBoundaries.h	(revision 8108)
+++ code/branches/spaceboundaries/src/orxonox/worldentities/SpaceBoundaries.h	(revision 8110)
@@ -34,8 +34,10 @@
 #include <string>
 #include "core/SubclassIdentifier.h"
-#include "worldentities/StaticEntity.h"
 
 /* Einige, spezifische include-Statements */
-
+#include "core/CoreIncludes.h"
+#include "tools/interfaces/Tickable.h"
+#include "worldentities/StaticEntity.h"
+#include "worldentities/WorldEntity.h"
 
 
@@ -46,10 +48,25 @@
         public:
             SpaceBoundaries(BaseObject* creator);
-            virtual ~SpaceBoundaries() {}
+            ~SpaceBoundaries();
+            
+            void setCenter(Vector3 r);
+            Vector3 getCenter();
+            
+            void setMaxDistance(float r);
+            float getMaxDistance();
+            
+            void setWarnDistance(float r);
+            float getWarnDistance();
 
-            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
+            void XMLPort(Element& xmlelement, XMLPort::Mode mode);
+            
+            void tick(float dt);
 
         private:
+            Vector3 center;
+            float maxDistance;
+            float warnDistance;
         
+            float computeDistance(WorldEntity *item); //!< Auf den Mittelpunkt 'center' bezogen.
     };
 }
