Index: /code/branches/WorldMap_HS18/ToDo
===================================================================
--- /code/branches/WorldMap_HS18/ToDo	(revision 12110)
+++ /code/branches/WorldMap_HS18/ToDo	(revision 12110)
@@ -0,0 +1,10 @@
+CMAKE Plugin
+
+ORXONOX_ADD_LIBRARY(superorxobros
+  PLUGIN
+  FIND_HEADER_FILES
+  LINK_LIBRARIES
+    orxonox
+    overlays
+  SOURCE_FILES ${SOB_SRC_FILES}
+)
Index: /code/branches/WorldMap_HS18/data/levels/StoryModeMap.oxw
===================================================================
--- /code/branches/WorldMap_HS18/data/levels/StoryModeMap.oxw	(revision 12109)
+++ /code/branches/WorldMap_HS18/data/levels/StoryModeMap.oxw	(revision 12110)
@@ -22,4 +22,7 @@
     <Template link=lodtemplate_default />
   </templates>
+
+   
+
   <?lua include("includes/notifications.oxi") ?>
 
@@ -28,6 +31,23 @@
     skybox       = "Orxonox/Starbox"
   >
+   <StoryModeController position="0,0,0" collisionType="dynamic">
 
+          <attached>
+              <Model position="550,300,0" mesh="assff.mesh" scale=20  visible="true" />
+          </attached>
 
+          <collisionShapes>
+              <BoxCollisionShape position="0,0,0" halfExtents="3,1,10" />
+          </collisionShapes>
+      </StoryModeController>
+  <!--   <MovableEntity>
+        <attached>
+            <StaticEntity name=asdfasdf figureTemplate=smCont>
+                <attached>
+                </attached>
+            </StaticEntity>
+        </attached>
+    </MovableEntity> -->
+    
     <StaticEntity position="0,0,0" direction="0,0,-1" >
       <attached>
@@ -36,14 +56,13 @@
          
         
-         <Model position="550,300,0" mesh="assff.mesh" scale=20  visible="true" orientation="-0.015,0.091,0.038,-0.995"/>
-        <Model position="600,370,0" mesh="Coordinates.mesh" scale=10 />
+         <Model position="550,300,0" mesh="assff.mesh" scale=20  visible="false" orientation="-0.015,0.091,0.038,-0.995"/>
         <Billboard colour="1,1,0.05" position="600,370,-80"  material="Flares/lensflare" scale=4.5 />
        
 
         <Model position="100,350,-250" mesh="planets/moon.mesh" scale=100  visible="false"/>
-         <Model position="50,300,-250" mesh="assff.mesh" scale=20  visible="true" orientation="-0.015,0.091,0.038,-0.995"/>
+         <Model position="50,300,-250" mesh="assff.mesh" scale=20  visible="false" orientation="-0.015,0.091,0.038,-0.995"/>
         <Billboard colour="1,1,0.05" position="100,350,-330"  material="Flares/lensflare" scale=4.5 />
 
-        <Model position="-600,250,-500" mesh="planets/moon.mesh" scale=100 />
+        <Model position="-600,250,-500" mesh="planets/moon.mesh" scale=100 visible="false"/>
         <Billboard colour="1,1,0.05" position="-600,250,-580"  material="Flares/lensflare" scale=5 />
 
@@ -69,4 +88,6 @@
     </StaticEntity>
 
+    
+
     <Light type=directional position="0,0,0" direction="0.253, 0.593, -0.765" diffuse="1.0, 0.9, 0.9, 1.0" specular="1.0, 0.9, 0.9, 1.0"/>
 
Index: /code/branches/WorldMap_HS18/src/modules/flappyorx/FlappyOrxShip.cc
===================================================================
--- /code/branches/WorldMap_HS18/src/modules/flappyorx/FlappyOrxShip.cc	(revision 12109)
+++ /code/branches/WorldMap_HS18/src/modules/flappyorx/FlappyOrxShip.cc	(revision 12110)
@@ -38,4 +38,5 @@
 #include "graphics/Camera.h"
 #include "graphics/ParticleSpawner.h"
+#include "worldentities/pawns/SpaceShip.h"
 #include <math.h> 
 #include <ctime>
Index: /code/branches/WorldMap_HS18/src/orxonox/controllers/SMCoord.cc
===================================================================
--- /code/branches/WorldMap_HS18/src/orxonox/controllers/SMCoord.cc	(revision 12109)
+++ /code/branches/WorldMap_HS18/src/orxonox/controllers/SMCoord.cc	(revision 12110)
@@ -6,4 +6,8 @@
     }
 
+     SMCoord::~SMCoord() {
+        
+    }
+
     SMCoord::SMCoord(int x) {
         set(x);
@@ -11,5 +15,64 @@
 
     void SMCoord::set(int index) {
+        if(index<0) return;
+        if(index>8) return;
         this->index = index;
+    }
+
+    Vector3 SMCoord::get3dcoordinate() {
+        Vector3 coord;
+       switch(this->index)
+       {
+        case 0:
+            coord.x= 550;
+            coord.y = 300;
+            coord.z = 0;
+            break;
+        case 1:
+            coord.x= 100;
+            coord.y = 350;
+            coord.z = -250;
+            break;
+        case 2:
+            coord.x= -600;
+            coord.y = 250;
+            coord.z = -500;
+            break;
+        case 3:
+            coord.x= -1000;
+            coord.y = 50;
+            coord.z = -750;
+            break;
+        case 4:
+            coord.x= -900;
+            coord.y = -400;
+            coord.z = -1000;
+            break;
+        case 5:
+            coord.x= -500;
+            coord.y = -700;
+            coord.z = -1250;
+            break;
+        case 6:
+            coord.x= 0;
+            coord.y = 900;
+            coord.z = -1500;
+            break;
+        case 7:
+            coord.x= 700;
+            coord.y = -1100;
+            coord.z = -1750;
+            break;
+        case 8:
+            coord.x= 1500;
+            coord.y = 1300;
+            coord.z = -2000;
+            break;
+        default:
+            coord.x= 0;
+            coord.y = 0;
+            coord.z = 0;
+       }
+       return coord;
     }
 
Index: /code/branches/WorldMap_HS18/src/orxonox/controllers/SMCoord.h
===================================================================
--- /code/branches/WorldMap_HS18/src/orxonox/controllers/SMCoord.h	(revision 12109)
+++ /code/branches/WorldMap_HS18/src/orxonox/controllers/SMCoord.h	(revision 12110)
@@ -13,6 +13,9 @@
             SMCoord();
             SMCoord(int x);
-            virtual void set(int index);
+             void set(int index);
             virtual int getIndex();
+            virtual Vector3 get3dcoordinate();
+            virtual ~SMCoord();
+
 
         private:
Index: /code/branches/WorldMap_HS18/src/orxonox/controllers/StoryModeController.cc
===================================================================
--- /code/branches/WorldMap_HS18/src/orxonox/controllers/StoryModeController.cc	(revision 12109)
+++ /code/branches/WorldMap_HS18/src/orxonox/controllers/StoryModeController.cc	(revision 12110)
@@ -31,32 +31,36 @@
 #include "core/CoreIncludes.h"
 #include "worldentities/ControllableEntity.h"
+#include "graphics/Camera.h"
 #include "SMCoord.h"
-
+#include "core/XMLPort.h"
 namespace orxonox
 {
     RegisterClass(StoryModeController);
 
-   StoryModeController::StoryModeController(Context* context) : ControllableEntity(context)
+   StoryModeController::StoryModeController(Context* context) : SpaceShip(context)
     {
         RegisterObject(StoryModeController);
         float time_;
-        moveForward_=false;
+        selectedPos_ = new SMCoord(0);
+        moveForward_= false;
         moveBackward_=false;                     
         boostPressed_=false;
-        setPosition(0);
+       
+
       
     }
-
     StoryModeController::~StoryModeController()
     {
-        
+        delete selectedPos_;
+        selectedPos_ = nullptr;
 
     }
 
     void StoryModeController::updatePosition(){
-
+        Vector3 pos = selectedPos_->get3dcoordinate();
+        setPosition(pos);
     }
-    void StoryModeController::setPosition(int index){
-
+    void StoryModeController::setLocation(int index){
+         selectedPos_->set(index);
     }
 
@@ -64,6 +68,21 @@
     {
         orxout(internal_error) << "Hi" << endl;
-       SUPER(StoryModeController, tick, dt);
-       time_ +=dt;
+        SUPER(StoryModeController, tick, dt);
+        time_ +=dt;
+
+        if(moveForward_ == true){
+            moveForward_ = false;
+            selectedPos_->set(selectedPos_->getIndex()+1);
+            updatePosition();
+        }
+        if(moveBackward_ == true){
+                moveBackward_ = false;
+                selectedPos_->set(selectedPos_->getIndex()-1);
+                updatePosition();
+           }
+           if(boostPressed_ == true){
+                boostPressed_ = false;
+                chooseGame();
+           }
        
        
@@ -72,6 +91,13 @@
     void StoryModeController::moveFrontBack(const Vector2& value)
     {
-                    
+           orxout(internal_error) << "moveFrontBack" << endl;          
     }
+
+    void StoryModeController::chooseGame()
+    {
+           //findLevel(selectedPos_->getIndex());            
+    }
+
+
     void StoryModeController::moveRightLeft(const Vector2& value)
     {
@@ -87,10 +113,17 @@
     }
 
-    void StoryModeController::rotateYaw(const Vector2& value){}
-    void StoryModeController::rotatePitch(const Vector2& value){}
-    void StoryModeController::rotateRoll(const Vector2& value){}
+    void StoryModeController::rotateYaw(const Vector2& value){
+        orxout(internal_error) << "RightLeft" << endl; 
+    }
+    void StoryModeController::rotatePitch(const Vector2& value){
+        orxout(internal_error) << "RightLeft" << endl; 
+    }
+    void StoryModeController::rotateRoll(const Vector2& value){
+        orxout(internal_error) << "RightLeft" << endl; 
+    }
     void StoryModeController::fire(unsigned int a){}
     void StoryModeController::fired(unsigned int b){}
     void StoryModeController::boost(bool bBoost){
+        orxout(internal_error) << "Boost" << endl; 
         boostPressed_ = true;
     }
Index: /code/branches/WorldMap_HS18/src/orxonox/controllers/StoryModeController.h
===================================================================
--- /code/branches/WorldMap_HS18/src/orxonox/controllers/StoryModeController.h	(revision 12109)
+++ /code/branches/WorldMap_HS18/src/orxonox/controllers/StoryModeController.h	(revision 12110)
@@ -36,8 +36,9 @@
 #include "worldentities/ControllableEntity.h"
 #include "worldentities/pawns/SpaceShip.h"
+#include "SMCoord.h"
 
 namespace orxonox
 {
-    class _OrxonoxExport StoryModeController : public ControllableEntity
+    class _OrxonoxExport StoryModeController : public SpaceShip
     {
         public:
@@ -54,7 +55,8 @@
             virtual void fired(unsigned int firemode) override;
             virtual void boost(bool bBoost) override;
-            virtual void setPosition(int index);
+            virtual void setLocation(int index);
             bool moveRight_ ;
             bool moveLeft_ ;
+            SMCoord* selectedPos_;
         private:
             virtual void updatePosition();                        
@@ -63,4 +65,5 @@
             bool moveBackward_;                     
             bool boostPressed_;
+            virtual void chooseGame();
 
     };
