Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Apr 24, 2008, 11:00:30 PM (16 years ago)
Author:
scheusso
Message:

first success: client clones the servers universe and displays it with quite good performance

File:
1 edited

Legend:

Unmodified
Added
Removed
  • code/branches/network3/src/orxonox/objects/SpaceShip.cc

    r1180 r1184  
    5050#include "core/XMLPort.h"
    5151#include "core/ConsoleCommand.h"
     52#include "network/Client.h"
    5253
    5354namespace orxonox
     
    165166    void SpaceShip::init()
    166167    {
     168        createCamera();
    167169        // START CREATING THRUSTER
    168170        this->tt_ = new ParticleInterface(GraphicsEngine::getSingleton().getSceneManager(),"twinthruster" + this->getName(),"Orxonox/engineglow");
     
    281283    void SpaceShip::setCamera(const std::string& camera)
    282284    {
    283         Ogre::Camera *cam = GraphicsEngine::getSingleton().getSceneManager()->createCamera("ShipCam");
    284         this->camNode_ = this->getNode()->createChildSceneNode("CamNode");
     285      // change camera attributes here, if you want to ;)
     286    }
     287   
     288    void SpaceShip::createCamera(){
     289      Ogre::Camera *cam = GraphicsEngine::getSingleton().getSceneManager()->createCamera("ShipCam");
     290      this->camNode_ = this->getNode()->createChildSceneNode("CamNode");
    285291/*
    286292//        node->setInheritOrientation(false);
    287         cam->setPosition(Vector3(0,50,-150));
    288         cam->lookAt(Vector3(0,20,0));
    289         cam->roll(Degree(0));
    290 */
    291 
    292         cam->setPosition(Vector3(-200,0,35));
     293      cam->setPosition(Vector3(0,50,-150));
     294      cam->lookAt(Vector3(0,20,0));
     295      cam->roll(Degree(0));
     296*/
     297
     298      cam->setPosition(Vector3(-200,0,35));
    293299//        cam->setPosition(Vector3(0,-350,0));
    294         cam->lookAt(Vector3(0,0,35));
    295         cam->roll(Degree(-90));
    296 
    297         this->camNode_->attachObject(cam);
    298         GraphicsEngine::getSingleton().getRenderWindow()->addViewport(cam);
     300      cam->lookAt(Vector3(0,0,35));
     301      cam->roll(Degree(-90));
     302
     303      this->camNode_->attachObject(cam);
     304      GraphicsEngine::getSingleton().getRenderWindow()->addViewport(cam);
     305     
    299306    }
    300307
     
    427434    void SpaceShip::tick(float dt)
    428435    {
    429       if (InputManager::getSingleton().getMouse()->getEventCallback() != this)
     436        // only do this if not client TODO: remove this hack
     437      if (!network::Client::getSingleton() && InputManager::getSingleton().getMouse()->getEventCallback() != this)
    430438        {
    431439            if (InputManager::getSingleton().getMouse())
     
    526534        }
    527535
    528         if (mKeyboard->isKeyDown(OIS::KC_UP) || mKeyboard->isKeyDown(OIS::KC_W))
    529             this->acceleration_.x = this->translationAcceleration_;
    530         else if(mKeyboard->isKeyDown(OIS::KC_DOWN) || mKeyboard->isKeyDown(OIS::KC_S))
    531             this->acceleration_.x = -this->translationAcceleration_;
    532         else
    533             this->acceleration_.x = 0;
    534 
    535         if (mKeyboard->isKeyDown(OIS::KC_RIGHT) || mKeyboard->isKeyDown(OIS::KC_D))
    536             this->acceleration_.y = -this->translationAcceleration_;
    537         else if (mKeyboard->isKeyDown(OIS::KC_LEFT) || mKeyboard->isKeyDown(OIS::KC_A))
    538             this->acceleration_.y = this->translationAcceleration_;
    539         else
    540             this->acceleration_.y = 0;
    541 
    542         if (mKeyboard->isKeyDown(OIS::KC_DELETE) || mKeyboard->isKeyDown(OIS::KC_Q))
    543             this->momentum_ = Radian(-this->rotationAccelerationRadian_);
    544         else if (mKeyboard->isKeyDown(OIS::KC_PGDOWN) || mKeyboard->isKeyDown(OIS::KC_E))
    545             this->momentum_ = Radian(this->rotationAccelerationRadian_);
    546         else
    547             this->momentum_ = 0;
     536        if(!network::Client::getSingleton()){
     537          if (mKeyboard->isKeyDown(OIS::KC_UP) || mKeyboard->isKeyDown(OIS::KC_W))
     538              this->acceleration_.x = this->translationAcceleration_;
     539          else if(mKeyboard->isKeyDown(OIS::KC_DOWN) || mKeyboard->isKeyDown(OIS::KC_S))
     540              this->acceleration_.x = -this->translationAcceleration_;
     541          else
     542              this->acceleration_.x = 0;
     543 
     544          if (mKeyboard->isKeyDown(OIS::KC_RIGHT) || mKeyboard->isKeyDown(OIS::KC_D))
     545              this->acceleration_.y = -this->translationAcceleration_;
     546          else if (mKeyboard->isKeyDown(OIS::KC_LEFT) || mKeyboard->isKeyDown(OIS::KC_A))
     547              this->acceleration_.y = this->translationAcceleration_;
     548          else
     549              this->acceleration_.y = 0;
     550 
     551          if (mKeyboard->isKeyDown(OIS::KC_DELETE) || mKeyboard->isKeyDown(OIS::KC_Q))
     552              this->momentum_ = Radian(-this->rotationAccelerationRadian_);
     553          else if (mKeyboard->isKeyDown(OIS::KC_PGDOWN) || mKeyboard->isKeyDown(OIS::KC_E))
     554              this->momentum_ = Radian(this->rotationAccelerationRadian_);
     555          else
     556              this->momentum_ = 0;
     557        }
    548558
    549559        WorldEntity::tick(dt);
Note: See TracChangeset for help on using the changeset viewer.