[Orxonox-commit 7024] r11643 - code/branches/Asteroid_HS17/src/modules/asteroids2D

vyang at orxonox.net vyang at orxonox.net
Thu Dec 7 18:25:56 CET 2017


Author: vyang
Date: 2017-12-07 18:25:56 +0100 (Thu, 07 Dec 2017)
New Revision: 11643

Modified:
   code/branches/Asteroid_HS17/src/modules/asteroids2D/Asteroids2DShip.cc
   code/branches/Asteroid_HS17/src/modules/asteroids2D/Asteroids2DShip.h
Log:
Problem, dass Leben mehrmals durch einen Asteroiden abgezogen wird, wurde behoben

Modified: code/branches/Asteroid_HS17/src/modules/asteroids2D/Asteroids2DShip.cc
===================================================================
--- code/branches/Asteroid_HS17/src/modules/asteroids2D/Asteroids2DShip.cc	2017-12-07 08:25:39 UTC (rev 11642)
+++ code/branches/Asteroid_HS17/src/modules/asteroids2D/Asteroids2DShip.cc	2017-12-07 17:25:56 UTC (rev 11643)
@@ -96,8 +96,15 @@
 
     inline bool Asteroids2DShip::collidesAgainst(WorldEntity* otherObject, const btCollisionShape* ownCollisionShape, btManifoldPoint& contactPoint)
     {
-        removeHealth(100);
-        getGame()->addPoints(10);
+
+        orxout() << "touched" << endl; 
+        Asteroids2DStone* stone = orxonox_cast<Asteroids2DStone*>(otherObject);       
+        if(stone != nullptr && (stone != lastStone || lastStone == nullptr))
+        {
+            removeHealth(100); 
+            lastStone = stone;
+          
+        }
         return false;
     }
 

Modified: code/branches/Asteroid_HS17/src/modules/asteroids2D/Asteroids2DShip.h
===================================================================
--- code/branches/Asteroid_HS17/src/modules/asteroids2D/Asteroids2DShip.h	2017-12-07 08:25:39 UTC (rev 11642)
+++ code/branches/Asteroid_HS17/src/modules/asteroids2D/Asteroids2DShip.h	2017-12-07 17:25:56 UTC (rev 11643)
@@ -37,12 +37,15 @@
 
 #include "asteroids2D/Asteroids2DPrereqs.h"
 
+
 #include "core/XMLPort.h"
 #include "worldentities/pawns/SpaceShip.h"
+#include "weapons/WeaponsPrereqs.h"
 #include "graphics/Camera.h"
 
 #include "Asteroids2D.h" // Is necessary for getGame function
 //#include "Asteroids2DCenterPoint.h"
+#include "Asteroids2DStone.h"
 
 #include "tools/Timer.h"
 
@@ -79,14 +82,10 @@
 
         private:
             Asteroids2D* getGame();
+
             float width, height;
             WeakPtr<Asteroids2D> game;
-            WeakPtr<WorldEntity> lastEntity;
-            struct Velocity
-            {
-                float x;
-                float y;
-            } velocity, desiredVelocity;
+            WeakPtr<Asteroids2DStone> lastStone;
 
             Timer timer;
     };



More information about the Orxonox-commit mailing list