Beispiel #1
0
void StdClientProcessList::clientCatchup( GameConnection *  connection )
{
   SimObjectPtr<GameObject> control = connection->getControlObject();
   if ( control )
   {
      Move * movePtr;
      U32 numMoves;
      U32 m = 0;
      connection->mMoveList->getMoves( &movePtr, &numMoves );

      #ifdef TORQUE_DEBUG_NET_MOVES
      Con::printf("client catching up... (%i)", numMoves);
      #endif

      preTickSignal().trigger();

      if ( control->isTicking() )
         for ( m = 0; m < numMoves; m++ )
            control->processMove( movePtr++ );

      connection->mMoveList->clearMoves( m );
   }

   #ifdef TORQUE_DEBUG_NET_MOVES
   Con::printf("---------");
   #endif
}
void ExtendedClientProcessList::clientCatchup( GameConnection *  connection )
{
   SimObjectPtr<GameBase> control = connection->getControlObject();
   if ( control )
   {
      ExtendedMove * extMovePtr;
      U32 numMoves;
      U32 m = 0;
      ExtendedMoveList* extMoveList = static_cast<ExtendedMoveList*>(connection->mMoveList);
      extMoveList->getExtMoves( &extMovePtr, &numMoves );

      #ifdef TORQUE_DEBUG_NET_MOVES
      Con::printf("client catching up... (%i)", numMoves);
      #endif

      preTickSignal().trigger();

      if ( control->isTicking() )
         for ( m = 0; m < numMoves; m++ )
            control->processTick( extMovePtr++ );

      extMoveList->clearMoves( m );
   }

   #ifdef TORQUE_DEBUG_NET_MOVES
   Con::printf("---------");
   #endif
}