[Orxonox-commit 7703] r12296 - code/branches/MouseAPI_FS19/src/modules/MouseAPI
tkuonen at orxonox.net
tkuonen at orxonox.net
Thu Apr 11 15:27:08 CEST 2019
Author: tkuonen
Date: 2019-04-11 15:27:08 +0200 (Thu, 11 Apr 2019)
New Revision: 12296
Added:
code/branches/MouseAPI_FS19/src/modules/MouseAPI/mousegametype.cc
code/branches/MouseAPI_FS19/src/modules/MouseAPI/mousegametype.h
Modified:
code/branches/MouseAPI_FS19/src/modules/MouseAPI/CMakeLists.txt
code/branches/MouseAPI_FS19/src/modules/MouseAPI/mouseapiexample.cc
Log:
added MouseGametype
Modified: code/branches/MouseAPI_FS19/src/modules/MouseAPI/CMakeLists.txt
===================================================================
--- code/branches/MouseAPI_FS19/src/modules/MouseAPI/CMakeLists.txt 2019-04-11 13:25:01 UTC (rev 12295)
+++ code/branches/MouseAPI_FS19/src/modules/MouseAPI/CMakeLists.txt 2019-04-11 13:27:08 UTC (rev 12296)
@@ -1,6 +1,7 @@
SET_SOURCE_FILES(MOUSEAPI_SRC_FILES
mouseapi.cc
mouseapiexample.cc
+ mousegametype.cc
)
Modified: code/branches/MouseAPI_FS19/src/modules/MouseAPI/mouseapiexample.cc
===================================================================
--- code/branches/MouseAPI_FS19/src/modules/MouseAPI/mouseapiexample.cc 2019-04-11 13:25:01 UTC (rev 12295)
+++ code/branches/MouseAPI_FS19/src/modules/MouseAPI/mouseapiexample.cc 2019-04-11 13:27:08 UTC (rev 12296)
@@ -1,5 +1,8 @@
#include "mouseapiexample.h"
#include "gametypes/Gametype.h"
+#include "infos/PlayerInfo.h"
+#include "worldentities/CameraPosition.h"
+#include "worldentities/ControllableEntity.h"
namespace orxonox
{
@@ -9,9 +12,6 @@
MouseAPIExample::MouseAPIExample(Context* context) : ControllableEntity(context)
{
RegisterObject(MouseAPIExample);
- //this->getGametype()->getPlayers().begin()->first->getControllableEntity()...
-
-
}
MouseAPIExample::~MouseAPIExample()
@@ -23,9 +23,11 @@
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();
}
@@ -34,5 +36,8 @@
SUPER(MouseAPIExample, XMLPort, xmlelement, mode);
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();
+
+
}
}
Added: code/branches/MouseAPI_FS19/src/modules/MouseAPI/mousegametype.cc
===================================================================
--- code/branches/MouseAPI_FS19/src/modules/MouseAPI/mousegametype.cc (rev 0)
+++ code/branches/MouseAPI_FS19/src/modules/MouseAPI/mousegametype.cc 2019-04-11 13:27:08 UTC (rev 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;
+
+ }
+}
+
+}
Added: code/branches/MouseAPI_FS19/src/modules/MouseAPI/mousegametype.h
===================================================================
--- code/branches/MouseAPI_FS19/src/modules/MouseAPI/mousegametype.h (rev 0)
+++ code/branches/MouseAPI_FS19/src/modules/MouseAPI/mousegametype.h 2019-04-11 13:27:08 UTC (rev 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
More information about the Orxonox-commit
mailing list