示例#1
0
void POIInfo::load( DataBuffer& buff ) {
   mc2dbg8 << "[POIInfo] loading." << endl;
   buff.alignToLong();
   m_staticID = buff.readNextLong();
   m_dynamicInfo = buff.readNextLong();
   uint32 nbrPOIInfos = buff.readNextLong();

   mc2dbg8 << "static id: " << m_staticID << endl;
   mc2dbg8 << "dynamicInfo: " << m_dynamicInfo << endl;
   mc2dbg8 << "[POIInfo] #" << nbrPOIInfos 
           << " poi infos." << endl;

   STLUtility::deleteValues( m_poiInfos );

   m_poiInfos.resize( nbrPOIInfos );

   // read infos
   for ( uint32 i = 0; i < m_poiInfos.size(); ++i ) {
      buff.alignToLong();
      uint32 type = buff.readNextLong();
      LangTypes::language_t lang = 
         static_cast<LangTypes::language_t>( buff.readNextLong() );

      MC2String str = buff.readNextString();

      m_poiInfos[ i ] = new POIInfoData( type, lang, str );
   }

}