Index: /code/branches/MouseAPI_FS19/src/modules/MouseAPI/CMakeLists.txt
===================================================================
--- /code/branches/MouseAPI_FS19/src/modules/MouseAPI/CMakeLists.txt	(revision 12295)
+++ /code/branches/MouseAPI_FS19/src/modules/MouseAPI/CMakeLists.txt	(revision 12296)
@@ -2,4 +2,5 @@
   mouseapi.cc
   mouseapiexample.cc
+  mousegametype.cc
 )
 
Index: /code/branches/MouseAPI_FS19/src/modules/MouseAPI/mouseapiexample.cc
===================================================================
--- /code/branches/MouseAPI_FS19/src/modules/MouseAPI/mouseapiexample.cc	(revision 12295)
+++ /code/branches/MouseAPI_FS19/src/modules/MouseAPI/mouseapiexample.cc	(revision 12296)
@@ -1,4 +1,7 @@
 #include "mouseapiexample.h"
 #include "gametypes/Gametype.h"
+#include "infos/PlayerInfo.h"
+#include "worldentities/CameraPosition.h"
+#include "worldentities/ControllableEntity.h"
 
 namespace orxonox
@@ -10,7 +13,4 @@
 {
     RegisterObject(MouseAPIExample);
-    //this->getGametype()->getPlayers().begin()->first->getControllableEntity()...
-
-
 }
 
@@ -24,7 +24,9 @@
 void MouseAPIExample::testfunction(MouseButtonCode::ByEnum mouse)
 {
-    float randomnumber = (rand()%100 + 1)/100.0;
+    float randomnumber = (rand()%100 + 1)/20.0;
     this->setScale(randomnumber);
     orxout() << "Blah\n";
+    //this->getGametype()->getPlayers().begin()->first->getControllableEntity()->mouseLook();//getCurrentCameraPosition()->setAllowMouseLook(false);
+    //this->getGametype()->getPlayers().begin()->first->stopControl();
 
 }
@@ -35,4 +37,7 @@
     MouseAPI::getInstance().activate();
     MouseAPI::getInstance().addClickableObject(this->getWorldPosition(),10,std::list<MouseButtonCode::ByEnum>{MouseButtonCode::Left},[this](MouseButtonCode::ByEnum mouse){this->testfunction(mouse);});
+    //this->getGametype()->getPlayers().begin()->first->getControllableEntity()->mouseLook();
+
+
 }
 }
Index: /code/branches/MouseAPI_FS19/src/modules/MouseAPI/mousegametype.cc
===================================================================
--- /code/branches/MouseAPI_FS19/src/modules/MouseAPI/mousegametype.cc	(revision 12296)
+++ /code/branches/MouseAPI_FS19/src/modules/MouseAPI/mousegametype.cc	(revision 12296)
@@ -0,0 +1,46 @@
+#include "mousegametype.h"
+
+namespace orxonox
+{
+RegisterUnloadableClass(MouseGametype);
+MouseGametype::MouseGametype(Context* context):Gametype(context)
+{
+    RegisterObject(MouseGametype);
+    player_ =nullptr;
+
+}
+void MouseGametype::start(){
+
+    bool temp = this->bForceSpawn_;
+    this->bForceSpawn_ = true;
+
+    // Call start for the parent class.
+    Gametype::start();
+
+    // Reset the variable.
+    this->bForceSpawn_ = temp;
+
+}
+
+void MouseGametype::spawnPlayersIfRequested()
+{
+    // Spawn a human player.
+    for (const auto& mapEntry : this->players_)
+        if (mapEntry.first->isHumanPlayer() && (mapEntry.first->isReadyToSpawn() || this->bForceSpawn_))
+            this->spawnPlayer(mapEntry.first);
+}
+
+
+void MouseGametype::spawnPlayer(PlayerInfo* player)
+{
+    assert(player);
+
+    if(this->player_ == nullptr)
+    {
+        this->player_ = player;
+        this->players_[player].state_ = PlayerState::Alive;
+
+    }
+}
+
+}
Index: /code/branches/MouseAPI_FS19/src/modules/MouseAPI/mousegametype.h
===================================================================
--- /code/branches/MouseAPI_FS19/src/modules/MouseAPI/mousegametype.h	(revision 12296)
+++ /code/branches/MouseAPI_FS19/src/modules/MouseAPI/mousegametype.h	(revision 12296)
@@ -0,0 +1,22 @@
+#ifndef MOUSEGAMETYPE_H
+#define MOUSEGAMETYPE_H
+#include "gametypes/Gametype.h"
+#include "core/CoreIncludes.h"
+#include "infos/PlayerInfo.h"
+
+namespace orxonox
+{
+
+class MouseGametype: public Gametype
+{
+public:
+    MouseGametype(Context *context);
+    virtual void start() override;
+    virtual void spawnPlayer(PlayerInfo* player) override;
+    virtual void spawnPlayersIfRequested()override;
+private:
+    PlayerInfo* player_ ;
+};
+
+}
+#endif // MOUSEGAMETYPE_H
