Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Dec 2, 2009, 11:35:24 AM (16 years ago)
Author:
scheusso
Message:

some cleaning up and improvements in synchronisation of vector2,3,4 and quaternions

File:
1 edited

Legend:

Unmodified
Added
Removed
  • code/branches/presentation2/src/libraries/network/synchronisable/SynchronisableVariable.h

    r6132 r6192  
    8181      virtual inline void* getReference(){ return static_cast<void*>(const_cast<typename Loki::TypeTraits<T>::UnqualifiedType*>(&this->variable_)); }
    8282    protected:
    83      
    84       T& variable_;
    85       uint8_t mode_;
    86       NetworkCallbackBase *callback_;
     83      T&                       variable_;
     84      uint8_t                  mode_;
     85      NetworkCallbackBase      *callback_;
    8786  };
    8887 
     
    116115  template <class T> SynchronisableVariable<T>::~SynchronisableVariable()
    117116  {
    118     if (this->callback_ != 0)
     117    if (this->callback_)
    119118    {
    120119      NetworkCallbackManager::deleteCallback(this->callback_); //safe call for deletion
     
    141140      return;
    142141  // check whether we need to consider a callback
    143     if ( this->callback_ != 0 )
     142    if ( this->callback_ )
    144143    {
    145144      callback = forceCallback || !checkEquality( this->variable_, mem );
     145    }
     146  // now do a callback if neccessary
     147    if ( callback )
     148    {
     149      NetworkCallbackManager::triggerCallback( this->callback_ );
    146150    }
    147151  // write the data
    148152    loadAndIncrease( this->variable_, mem );
    149   // now do a callback if neccessary
    150     if ( callback )
    151       NetworkCallbackManager::triggerCallback( this->callback_ );
    152153  }
    153154
     
    215216            mem += sizeof(varReference_);
    216217            memcpy(static_cast<void*>(const_cast<typename Loki::TypeTraits<T>::UnqualifiedType*>(&this->varBuffer_)), &this->variable_, sizeof(T));
    217             if ( this->callback_ != 0 )
     218            if ( this->callback_ )
    218219              callback = true;
    219220          }
     
    234235          {
    235236            // value changed so remark for callback
    236             if ( this->callback_ != 0 )
     237            if ( this->callback_ )
    237238              callback = true;
    238239          }
    239240        }
    240241      }
     242  // now do a callback if neccessary
     243      if ( callback )
     244      {
     245        NetworkCallbackManager::triggerCallback( this->callback_ );
     246      }
    241247  // now write the data
    242248      loadAndIncrease(this->variable_, mem);
    243   // now do a callback if neccessary
    244       if ( callback )
    245         NetworkCallbackManager::triggerCallback( this->callback_ );
    246249    }
    247250
Note: See TracChangeset for help on using the changeset viewer.