Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 9602 in orxonox.OLD for branches


Ignore:
Timestamp:
Jul 29, 2006, 10:46:19 AM (18 years ago)
Author:
patrick
Message:

solved the spaceturret synch problem
@bensch: read my mail, everything is commented there. the turret should then work
@bensch2: can you then please take a look at the shell commands in ProxyControl (see mail) thx!
|

Location:
branches/proxy/src
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/proxy/src/lib/network/proxy/proxy_control.cc

    r9600 r9602  
    277277  if( SharedNetworkData::getInstance()->isClient())
    278278  {
    279     PRINTF(1)("I am client, got no right to force reconnection\n");
     279    PRINTF(0)("I am client, got no right to force reconnection\n");
    280280    return;
    281281  }
  • branches/proxy/src/world_entities/npcs/space_turret.cc

    r9235 r9602  
    7474  this->weaponHolder[0].setParent(this);
    7575  this->weaponHolder[1].setParent(this);
     76
     77  this->wLeftHandle = registerVarId( new SynchronizeableString( &this->wLeft, &this->wLeft, "weapon-left" ) );
     78  this->wRightHandle = registerVarId( new SynchronizeableString( &this->wRight, &this->wRight, "weapon-right" ) );
     79
    7680}
    7781
     
    98102  if (this->left)
    99103  {
     104    this->wLeft = element->Value();
     105
    100106    this->left->setParent(this);
    101107    this->left->toList(this->getOMListNumber());
     
    110116  if (this->right)
    111117  {
     118    this->wRight = element->Value();
     119
    112120    this->right->setParent(this);
    113121    this->right->toList(this->getOMListNumber());
     
    117125  }
    118126}
     127
     128
     129/**
     130 * sets the left weapon called from net sync
     131 * @param wLeft the left weapon string
     132 */
     133void SpaceTurret::setWeaponLeft(const std::string& wLeft)
     134{
     135
     136}
     137
     138/**
     139 * sets the left weapon called from net sync
     140 * @param wRught the right weapon string
     141 */
     142void SpaceTurret::setWeaponRight(const std::string& wRight)
     143{}
    119144
    120145/**
     
    198223
    199224}
     225
     226
     227
     228/**
     229 * handler for changes on registred vars
     230 * @param id id's which changed
     231 */
     232void SpaceTurret::varChangeHandler( std::list< int > & id )
     233{
     234  if ( std::find( id.begin(), id.end(), this->wLeftHandle ) != id.end())
     235  {
     236    this->setWeaponLeft(this->wLeft);
     237  }
     238
     239  if ( std::find( id.begin(), id.end(), this->wRightHandle ) != id.end() )
     240  {
     241    this->setWeaponRight(this->wRight);
     242  }
     243
     244
     245  WorldEntity::varChangeHandler( id );
     246}
     247
  • branches/proxy/src/world_entities/npcs/space_turret.h

    r9235 r9602  
    88
    99#include "npcs/npc.h"
     10
     11#include <string>
     12#include <list>
     13
    1014
    1115class Weapon;
     
    2024
    2125  virtual void loadParams(const TiXmlElement* root);
     26  virtual void varChangeHandler( std::list< int > & id );
     27
     28
     29  void setWeaponLeft(const std::string& wLeft);
     30  void setWeaponRight(const std::string& wRight);
    2231
    2332  virtual void postSpawn ();
     
    3645  PNode  weaponHolder[2];
    3746  Weapon *left, *right;
     47
     48  std::string wLeft;
     49  std::string wRight;
     50  int wLeftHandle;
     51  int wRightHandle;
    3852};
    3953
Note: See TracChangeset for help on using the changeset viewer.