static void cbPosition(CMessage &msgin, const std::string &serviceName, TServiceId sid) { // temp uint32 id; CVector position; msgin.serial(id); msgin.serial(position); nldebug("Received CLS_POSITION, %s %s", serviceName.c_str(), sid.toString().c_str()); // Update position information in the player list _pmap::iterator ItPlayer; ItPlayer = playerList.find( id ); if ( ItPlayer == playerList.end() ) { nlwarning( "Player id %u not found !", id ); } else { ((*ItPlayer).second).position = position; //nldebug( "SB: Player position updated" ); } CMessage msgout("ENTITY_TP"); msgout.serial(id); msgout.serial(position); CUnifiedNetwork::getInstance()->send("FS", msgout); }
/**************************************************************************** * Connection callback for the collision service ****************************************************************************/ static void cbCollisionServiceUp(const std::string &serviceName, TServiceId sid, void *arg) { nldebug("SB: Collision Service UP, %s %s", serviceName.c_str(), sid.toString().c_str()); clear(); msgRegister(sid); for (_pmap::iterator it = playerList.begin(); it != playerList.end(); it++) addEntity(it->second.id, it->second.position, 1.0f); }