Index: /code/branches/bindermFS16/src/orxonox/LevelManager.cc
===================================================================
--- /code/branches/bindermFS16/src/orxonox/LevelManager.cc	(revision 11187)
+++ /code/branches/bindermFS16/src/orxonox/LevelManager.cc	(revision 11188)
@@ -33,4 +33,5 @@
 
 #include "LevelManager.h"
+#include "LevelStatus.h"
 
 #include <map>
@@ -51,80 +52,4 @@
 {
 
-//Mission endmission true
-    //check if index level is activated...
-    int LevelManager::missionactivate(int index)
-    {
-        updateAllLevelStatus();
-        int activated = allLevelStatus_[index].activated;
-        return activated;
-    }
-
-    void LevelManager::updatewon(int lastwon)
-    {
-        allLevelStatus_[lastwon].won=true;
-
-    }
-
-    void LevelManager::updateAllLevelStatus()
-    {
-        for(unsigned int i =0;i<allLevelStatus_.size();i++)
-        {
-            if(allLevelStatus_[i].won)
-            {
-                allLevelStatus_[i].activated=1;
-                std::vector<int> nextLevels=allLevelStatus_[i].nextLevels;
-                for(unsigned int j=i+1;j<allLevelStatus_.size();j++)
-                {
-                    allLevelStatus_[j].activated=nextLevels[j];
-                }
-            }
-        }
-    }
-
-    //updates the won variable of the corresponding LevelStatus in allLevelStatus_
-    void LevelManager::setLevelStatus(const std::string& LevelWon)
-    {
-        ModifyConfigValue(lastWonMission_, set, LevelWon);  
-    }
-
-
-    //build up allLevelStatus
-    //has to be done once per game (not per level)
-    //all connections between the levels are saved in here
-    void LevelManager::buildallLevelStatus()
-    {
-        LevelStatus level;
-        allLevelStatus_.assign (campaignMissions_.size(),level);
-        allLevelStatus_[0].activated=1;
-        //allLevelStatus_[0].won=true;
-
-
-        allLevelStatus_[0].nextLevels.push_back(1);
-        allLevelStatus_[0].nextLevels.push_back(1);
-        allLevelStatus_[0].nextLevels.push_back(0);
-        allLevelStatus_[0].nextLevels.push_back(0);
-        allLevelStatus_[0].nextLevels.push_back(0);
-        allLevelStatus_[0].nextLevels.push_back(0);
-        allLevelStatus_[0].nextLevels.push_back(0);
-
-        allLevelStatus_[1].nextLevels.push_back(1);
-        allLevelStatus_[1].nextLevels.push_back(2);
-        allLevelStatus_[1].nextLevels.push_back(1);
-        allLevelStatus_[1].nextLevels.push_back(0);
-        allLevelStatus_[1].nextLevels.push_back(0);
-        allLevelStatus_[1].nextLevels.push_back(0);
-        allLevelStatus_[1].nextLevels.push_back(0);
-
-        allLevelStatus_[2].nextLevels.push_back(2);
-        allLevelStatus_[2].nextLevels.push_back(1);
-        allLevelStatus_[2].nextLevels.push_back(0);
-        allLevelStatus_[2].nextLevels.push_back(0);
-        allLevelStatus_[2].nextLevels.push_back(1);
-        allLevelStatus_[2].nextLevels.push_back(0);
-        allLevelStatus_[2].nextLevels.push_back(0);
-
-
-
-    }
 
 
@@ -180,6 +105,6 @@
         SetConfigValue(campaignMissions_,  std::vector<std::string>())
             .description("The list of missions in the campaign");
-        SetConfigValue(test_,  std::vector<int>())
-            .description("The list of missions and their statuses");
+        //SetConfigValue(test_,  std::vector<int>())
+         //   .description("The list of missions and their statuses");
             
     }
@@ -408,3 +333,83 @@
         //TODO: Implement some kind of update?
     }
+
+
+//Mission endmission true
+    //check if index level is activated...
+    int LevelManager::missionactivate(int index)
+    {
+        updateAllLevelStatus();
+        int activated = allLevelStatus_[index].activated;
+        return activated;
+    }
+
+    void LevelManager::updatewon(int lastwon)
+    {
+        allLevelStatus_[lastwon].won=true;
+
+    }
+
+    void LevelManager::updateAllLevelStatus()
+    {
+        for(unsigned int i =0;i<allLevelStatus_.size();i++)
+        {
+            if(allLevelStatus_[i].won)
+            {
+                allLevelStatus_[i].activated=1;
+                std::vector<int> nextLevels=allLevelStatus_[i].nextLevels;
+                for(unsigned int j=i+1;j<allLevelStatus_.size();j++)
+                {
+                    allLevelStatus_[j].activated=nextLevels[j];
+                }
+            }
+        }
+    }
+
+    //updates the won variable of the corresponding LevelStatus in allLevelStatus_
+    void LevelManager::setLevelStatus(const std::string& LevelWon)
+    {
+        ModifyConfigValue(lastWonMission_, set, LevelWon);  
+    }
+
+
+    //build up allLevelStatus
+    //has to be done once per game (not per level)
+    //all connections between the levels are saved in here
+    void LevelManager::buildallLevelStatus()
+    {
+        LevelStatus* level = new LevelStatus(this->getContext());
+
+        /*LevelStatus level;
+        allLevelStatus_.assign (campaignMissions_.size(),level);
+        allLevelStatus_[0].activated=1;
+        //allLevelStatus_[0].won=true;
+
+
+        allLevelStatus_[0].nextLevels.push_back(1);
+        allLevelStatus_[0].nextLevels.push_back(1);
+        allLevelStatus_[0].nextLevels.push_back(0);
+        allLevelStatus_[0].nextLevels.push_back(0);
+        allLevelStatus_[0].nextLevels.push_back(0);
+        allLevelStatus_[0].nextLevels.push_back(0);
+        allLevelStatus_[0].nextLevels.push_back(0);
+
+        allLevelStatus_[1].nextLevels.push_back(1);
+        allLevelStatus_[1].nextLevels.push_back(2);
+        allLevelStatus_[1].nextLevels.push_back(1);
+        allLevelStatus_[1].nextLevels.push_back(0);
+        allLevelStatus_[1].nextLevels.push_back(0);
+        allLevelStatus_[1].nextLevels.push_back(0);
+        allLevelStatus_[1].nextLevels.push_back(0);
+
+        allLevelStatus_[2].nextLevels.push_back(2);
+        allLevelStatus_[2].nextLevels.push_back(1);
+        allLevelStatus_[2].nextLevels.push_back(0);
+        allLevelStatus_[2].nextLevels.push_back(0);
+        allLevelStatus_[2].nextLevels.push_back(1);
+        allLevelStatus_[2].nextLevels.push_back(0);
+        allLevelStatus_[2].nextLevels.push_back(0);*/
+
+
+
+    }
 }
Index: /code/branches/bindermFS16/src/orxonox/LevelStatus.cc
===================================================================
--- /code/branches/bindermFS16/src/orxonox/LevelStatus.cc	(revision 11187)
+++ /code/branches/bindermFS16/src/orxonox/LevelStatus.cc	(revision 11188)
@@ -20,5 +20,5 @@
     RegisterClass(LevelStatus);
 
-    LevelStatus::LevelStatus()
+    LevelStatus::LevelStatus(Context* context) : BaseObject(context)
     {
         RegisterObject(LevelStatus);
Index: /code/branches/bindermFS16/src/orxonox/LevelStatus.h
===================================================================
--- /code/branches/bindermFS16/src/orxonox/LevelStatus.h	(revision 11187)
+++ /code/branches/bindermFS16/src/orxonox/LevelStatus.h	(revision 11188)
@@ -56,5 +56,5 @@
     {
     public:
-        LevelStatus();
+        LevelStatus(Context* context);
         virtual ~LevelStatus();
         
@@ -62,5 +62,4 @@
         std::vector<int> nextLevels;        //in this vector at the index i is saved if the ith level should be activated =1, visible but not activated =2, or not activated =0
         int activated;                      //0 not activated, 1 activated, 2 visible
-
     };
 }
