Example #1
0
void Item::Deserialize(ByteStream& stream)
{
   ItemTemplate::Deserialize(stream);

   m_id = stream.ReadUuid();

   m_uiDurability = stream.Read8();
   if (m_uiDurability > ItemTemplate::MaxDurability())
      throw Exception(_T("invalid durability value"), __FILE__, __LINE__);
}
void AddRemoveObjectMessage::Deserialize(ByteStream& stream)
{
   // list of objects to add
   size_t iMax = stream.Read32();
   m_vecObjectsToAdd.reserve(iMax);
   for (size_t i=0; i<iMax; i++)
   {
      MobilePtr spMobile(new Mobile(Uuid::Null()));
      spMobile->Deserialize(stream);

      m_vecObjectsToAdd.push_back(spMobile);
   }

   iMax = stream.Read32();
   m_vecObjectsToRemove.reserve(iMax);
   for (size_t i=0; i<iMax; i++)
      m_vecObjectsToRemove.push_back(stream.ReadUuid());
}