[Orxonox-commit 3506] r8192 - in code/branches/dockingsystem: data/levels src/modules/docking
sven at orxonox.net
sven at orxonox.net
Mon Apr 4 16:53:59 CEST 2011
Author: sven
Date: 2011-04-04 16:53:58 +0200 (Mon, 04 Apr 2011)
New Revision: 8192
Modified:
code/branches/dockingsystem/data/levels/docking.oxw
code/branches/dockingsystem/src/modules/docking/Dock.cc
Log:
Modified: code/branches/dockingsystem/data/levels/docking.oxw
===================================================================
--- code/branches/dockingsystem/data/levels/docking.oxw 2011-04-04 14:19:57 UTC (rev 8191)
+++ code/branches/dockingsystem/data/levels/docking.oxw 2011-04-04 14:53:58 UTC (rev 8192)
@@ -47,7 +47,7 @@
</Dock>
- <!--
+
<Destroyer
position = "100,150,0"
collisionType = dynamic
@@ -146,7 +146,7 @@
<BoxCollisionShape position="167,0,70" halfExtents="17, 20, 20" />
</collisionShapes>
</Destroyer>
- //-->
+
</Scene>
</Level>
Modified: code/branches/dockingsystem/src/modules/docking/Dock.cc
===================================================================
--- code/branches/dockingsystem/src/modules/docking/Dock.cc 2011-04-04 14:19:57 UTC (rev 8191)
+++ code/branches/dockingsystem/src/modules/docking/Dock.cc 2011-04-04 14:53:58 UTC (rev 8192)
@@ -32,6 +32,7 @@
*/
#include "Dock.h"
+#include "infos/HumanPlayer.h"
#include "worldentities/pawns/Pawn.h"
#include "interfaces/PlayerTrigger.h"
@@ -71,10 +72,8 @@
bool Dock::execute(bool bTriggered, BaseObject* trigger)
{
- COUT(0) << "Dock executed (bTriggered = " << (bTriggered? "true":"false") << ").." << std::endl;
+ //TODO: Handle DistanceMultiTrigger
- //TODO: Handle MultiDistanceTrigger
-
PlayerTrigger* pTrigger = orxonox_cast<PlayerTrigger*>(trigger);
Pawn* pawn = NULL;
@@ -82,7 +81,7 @@
if(pTrigger != NULL)
{
if(!pTrigger->isForPlayer()) { // The PlayerTrigger is not exclusively for Pawns which means we cannot extract one.
- COUT(0) << "Docking:execute PlayerTrigger is not triggered for player.." << std::endl;
+ COUT(0) << "Docking:execute PlayerTrigger was not triggered by a player.." << std::endl;
return false;
}
pawn = pTrigger->getTriggeringPlayer();
@@ -92,7 +91,7 @@
}
if(pawn == NULL)
{
- COUT(0) << "Docking: Can't retrieve Pawn from Trigger. (" << trigger->getIdentifier()->getName() << ")" << std::endl;
+ COUT(0) << "Docking::execute Can't retrieve Pawn from Trigger. (" << trigger->getIdentifier()->getName() << ")" << std::endl;
return false;
}
@@ -105,20 +104,20 @@
}
// Try to get HumanPlayer
- HumanPlayer* human;
- if(!player->isHuman()) {
+ if(!player->isHumanPlayer()) {
COUT(0) << "Docking::execute Not triggered by a human." << std::endl;
return false;
}
- human = orxonox_cast<HumanPlayer*>(player);
- assert(human);
+ HumanPlayer* human = orxonox_cast<HumanPlayer*>(player);
+ if(human == NULL) {
+ COUT(0) << "Docking::execute Player was not as human as expected.." << std::endl;
+ }
+ COUT(0) << "Dock triggered by player: " << human->getNick() << ".." << std::endl;
-
-
//TODO: This is waaay too oversimplified
if(bTriggered) {
DockingEffect::invokeEffect(docking::DOCKING, player, effects_);
- DockingEffect::invokeEffect(docking::ATTACH, player, effects_);
+ //DockingEffect::invokeEffect(docking::ATTACH, player, effects_);
} else {
DockingEffect::invokeEffect(docking::RELEASE, player, effects_);
}
More information about the Orxonox-commit
mailing list