[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