[Orxonox-commit 1607] r6325 - code/branches/presentation2/src/orxonox/worldentities

rgrieder at orxonox.net rgrieder at orxonox.net
Fri Dec 11 17:52:59 CET 2009


Author: rgrieder
Date: 2009-12-11 17:52:59 +0100 (Fri, 11 Dec 2009)
New Revision: 6325

Modified:
   code/branches/presentation2/src/orxonox/worldentities/ControllableEntity.cc
   code/branches/presentation2/src/orxonox/worldentities/ControllableEntity.h
Log:
Disabled drag in mouse look.

Modified: code/branches/presentation2/src/orxonox/worldentities/ControllableEntity.cc
===================================================================
--- code/branches/presentation2/src/orxonox/worldentities/ControllableEntity.cc	2009-12-11 16:24:32 UTC (rev 6324)
+++ code/branches/presentation2/src/orxonox/worldentities/ControllableEntity.cc	2009-12-11 16:52:59 UTC (rev 6325)
@@ -69,6 +69,7 @@
         this->reverseCamera_ = 0;
         this->bDestroyWhenPlayerLeft_ = false;
         this->cameraPositionRootNode_ = this->node_->createChildSceneNode();
+        this->currentCameraPosition_ = 0;
         this->bMouseLook_ = false;
         this->mouseLookSpeed_ = 200;
 
@@ -173,6 +174,7 @@
             if (this->camera_->getParent() == this && this->cameraPositions_.size() > 0)
             {
                 this->cameraPositions_.front()->attachCamera(this->camera_);
+                this->currentCameraPosition_ = this->cameraPositions_.front().get();
             }
             else if (this->cameraPositions_.size() > 0)
             {
@@ -182,9 +184,15 @@
                     {
                         ++it;
                         if (it != this->cameraPositions_.end())
+                        {
                             (*it)->attachCamera(this->camera_);
+                            this->currentCameraPosition_ = *it;
+                        }
                         else
+                        {
                             (*this->cameraPositions_.begin())->attachCamera(this->camera_);
+                            this->currentCameraPosition_ = *this->cameraPositions_.begin();
+                        }
                         break;
                     }
                 }
@@ -192,6 +200,7 @@
             else
             {
                 this->camera_->attachToNode(this->cameraPositionRootNode_);
+                this->currentCameraPosition_ = 0;
             }
         }
     }
@@ -202,6 +211,13 @@
 
         if (!this->bMouseLook_)
             this->cameraPositionRootNode_->setOrientation(Quaternion::IDENTITY);
+        if (this->getCamera())
+        {
+            if (!this->bMouseLook_&& this->currentCameraPosition_->getDrag())
+                this->getCamera()->setDrag(true);
+            else
+                this->getCamera()->setDrag(false);
+        }
     }
 
     void ControllableEntity::rotateYaw(const Vector2& value)
@@ -319,9 +335,15 @@
             if (this->cameraPositionTemplate_ != "")
                 this->addTemplate(this->cameraPositionTemplate_);
             if (this->cameraPositions_.size() > 0)
+            {
                 this->cameraPositions_.front()->attachCamera(this->camera_);
+                this->currentCameraPosition_ = this->cameraPositions_.front();
+            }
             else
+            {
                 this->camera_->attachToNode(this->cameraPositionRootNode_);
+                this->currentCameraPosition_ = 0;
+            }
         }
 
         if (!this->hud_ && GameMode::showsGraphics())

Modified: code/branches/presentation2/src/orxonox/worldentities/ControllableEntity.h
===================================================================
--- code/branches/presentation2/src/orxonox/worldentities/ControllableEntity.h	2009-12-11 16:24:32 UTC (rev 6324)
+++ code/branches/presentation2/src/orxonox/worldentities/ControllableEntity.h	2009-12-11 16:52:59 UTC (rev 6325)
@@ -209,6 +209,7 @@
             float mouseLookSpeed_;
             Ogre::SceneNode* cameraPositionRootNode_;
             std::list<SmartPtr<CameraPosition> > cameraPositions_;
+            CameraPosition* currentCameraPosition_;
             std::string cameraPositionTemplate_;
             Controller* xmlcontroller_;
             Controller* controller_;




More information about the Orxonox-commit mailing list