void Item::Serialize(ByteStream& stream) const { ItemTemplate::Serialize(stream); stream.WriteUuid(m_id); if (m_uiDurability > ItemTemplate::MaxDurability() || m_uiDurability > 0xff) throw Exception(_T("invalid durability value"), __FILE__, __LINE__); stream.Write8(m_uiDurability & 0xff); }
void AddRemoveObjectMessage::Serialize(ByteStream& stream) const { // list of objects to add stream.Write32(m_vecObjectsToAdd.size()); for (size_t i=0, iMax=m_vecObjectsToAdd.size(); i<iMax; i++) { ATLASSERT(typeid(Mobile) == typeid(*m_vecObjectsToAdd[i])); m_vecObjectsToAdd[i]->Serialize(stream); } // list of objects to remove stream.Write32(m_vecObjectsToRemove.size()); for (size_t i=0, iMax=m_vecObjectsToRemove.size(); i<iMax; i++) stream.WriteUuid(m_vecObjectsToRemove[i]); }