[Orxonox-commit 3452] r8138 - in code/branches/gameimmersion/src/orxonox: graphics worldentities/pawns

dboehi at orxonox.net dboehi at orxonox.net
Mon Mar 28 15:13:05 CEST 2011


Author: dboehi
Date: 2011-03-28 15:13:04 +0200 (Mon, 28 Mar 2011)
New Revision: 8138

Modified:
   code/branches/gameimmersion/src/orxonox/graphics/Camera.cc
   code/branches/gameimmersion/src/orxonox/graphics/Camera.h
   code/branches/gameimmersion/src/orxonox/worldentities/pawns/SpaceShip.cc
   code/branches/gameimmersion/src/orxonox/worldentities/pawns/SpaceShip.h
Log:
First version of the camera shake effect for the afterburner


Modified: code/branches/gameimmersion/src/orxonox/graphics/Camera.cc
===================================================================
--- code/branches/gameimmersion/src/orxonox/graphics/Camera.cc	2011-03-28 12:57:31 UTC (rev 8137)
+++ code/branches/gameimmersion/src/orxonox/graphics/Camera.cc	2011-03-28 13:13:04 UTC (rev 8138)
@@ -47,7 +47,8 @@
 {
     CreateFactory(Camera);
 
-    Camera::Camera(BaseObject* creator) : StaticEntity(creator)
+    //Camera::Camera(BaseObject* creator) : StaticEntity(creator)
+    Camera::Camera(BaseObject* creator) : MovableEntity(creator)
     {
         RegisterObject(Camera);
 

Modified: code/branches/gameimmersion/src/orxonox/graphics/Camera.h
===================================================================
--- code/branches/gameimmersion/src/orxonox/graphics/Camera.h	2011-03-28 12:57:31 UTC (rev 8137)
+++ code/branches/gameimmersion/src/orxonox/graphics/Camera.h	2011-03-28 13:13:04 UTC (rev 8138)
@@ -35,11 +35,13 @@
 #include "core/WindowEventListener.h"
 #include "tools/interfaces/Tickable.h"
 #include "tools/interfaces/TimeFactorListener.h"
-#include "worldentities/StaticEntity.h"
+//#include "worldentities/StaticEntity.h"
+#include "worldentities/MovableEntity.h"
 
 namespace orxonox
 {
-    class _OrxonoxExport Camera : public StaticEntity, public Tickable, public TimeFactorListener, public WindowEventListener
+    //class _OrxonoxExport Camera : public StaticEntity, public Tickable, public TimeFactorListener, public WindowEventListener
+    class _OrxonoxExport Camera : public MovableEntity, public TimeFactorListener, public WindowEventListener
     {
         friend class CameraManager;
 

Modified: code/branches/gameimmersion/src/orxonox/worldentities/pawns/SpaceShip.cc
===================================================================
--- code/branches/gameimmersion/src/orxonox/worldentities/pawns/SpaceShip.cc	2011-03-28 12:57:31 UTC (rev 8137)
+++ code/branches/gameimmersion/src/orxonox/worldentities/pawns/SpaceShip.cc	2011-03-28 13:13:04 UTC (rev 8138)
@@ -35,6 +35,8 @@
 #include "core/Template.h"
 #include "core/XMLPort.h"
 #include "items/Engine.h"
+#include "graphics/Camera.h"
+#include "CameraManager.h"
 
 namespace orxonox
 {
@@ -75,6 +77,10 @@
 
         this->setConfigValues();
         this->registerVariables();
+	
+	Camera* c = CameraManager::getInstance().getActiveCamera();
+	this->cameraOriginalPosition = c->getPosition();
+	this->cameraOriginalOrientation = c->getOrientation();
     }
 
     SpaceShip::~SpaceShip()
@@ -151,13 +157,27 @@
             }
             if(this->bBoost_)
             {
+		Camera* c = CameraManager::getInstance().getActiveCamera();
                 this->boostPower_ -=this->boostRate_*dt;
                 if(this->boostPower_ <= 0.0f)
                 {
                     this->bBoost_ = false;
                     this->bBoostCooldown_ = true;
                     this->timer_.setTimer(this->boostCooldownDuration_, false, createExecutor(createFunctor(&SpaceShip::boostCooledDown, this)));
+		    
+		    c->setVelocity(0,0,0);
+		    c->setPosition(this->cameraOriginalPosition);
+		    c->setOrientation(this->cameraOriginalOrientation);
                 }
+		else
+		{
+			//Kamera schuettelt
+			COUT(1) << "Afterburner effect\n";
+			if (c != 0)
+			{
+				c->setVelocity(0.1, 2.0, 0.3);
+			}
+		}
             }
         }
     }

Modified: code/branches/gameimmersion/src/orxonox/worldentities/pawns/SpaceShip.h
===================================================================
--- code/branches/gameimmersion/src/orxonox/worldentities/pawns/SpaceShip.h	2011-03-28 12:57:31 UTC (rev 8137)
+++ code/branches/gameimmersion/src/orxonox/worldentities/pawns/SpaceShip.h	2011-03-28 13:13:04 UTC (rev 8138)
@@ -113,6 +113,8 @@
             std::string enginetemplate_;
             Engine* engine_;
             Timer timer_;
+	    Vector3 cameraOriginalPosition;
+	    Quaternion cameraOriginalOrientation;
     };
 }
 




More information about the Orxonox-commit mailing list