コード例 #1
0
void DamageSpellEffect::Serialize(ByteStream& stream) const
{
   BaseClass::Serialize(stream);

   stream.Write8(static_cast<unsigned char>(m_damageType.Type()));
   stream.Write8(m_ucRestriction);
}
コード例 #2
0
 /// serialize message by putting bytes to stream
 void Serialize(ByteStream& stream) const
 {
    stream.WriteString(m_cszName);
    stream.Write8(m_cBackgroundColor.m_color[Color::red]);
    stream.Write8(m_cBackgroundColor.m_color[Color::green]);
    stream.Write8(m_cBackgroundColor.m_color[Color::blue]);
    stream.Write8(static_cast<unsigned char>(m_fBrightness * 255.f));
 }
コード例 #3
0
void ItemTemplate::Serialize(ByteStream& stream) const
{
   stream.Write32(m_uiTemplateId);

   stream.Write8(static_cast<unsigned char>(m_enItemType) & 0xff);

   stream.Write8(static_cast<unsigned char>(m_enEquipSlotType) & 0xff);

   // TODO

   switch (m_enItemType)
   {
   case itemTypeWeapon:    m_spWeaponItemInfo->Serialize(stream); break;
   case itemTypeArmor:     m_spArmorItemInfo->Serialize(stream); break;
   case itemTypeConsumable:m_spConsumableItemInfo->Serialize(stream); break;
   case itemTypeUsable:    m_spUsableItemInfo->Serialize(stream); break;
   case itemTypeQuest:     m_spQuestItemInfo->Serialize(stream); break;
   }
}
コード例 #4
0
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);
}
コード例 #5
0
void EffectValueOrRange::Serialize(ByteStream& stream) const
{
   Flags8 flags;
   flags.SetBit<0>(m_bRange);
   flags.SetBit<1>(m_bPercent);

   stream.Write8(flags.Value());

   stream.Write32(static_cast<unsigned int>(m_iValues[0]));
   if (m_bRange)
      stream.Write32(static_cast<unsigned int>(m_iValues[1]));
}
コード例 #6
0
void DamageHealSpellEffectBase::Serialize(ByteStream& stream) const
{
   BaseClass::Serialize(stream);

   Flags8 flags;
   flags.SetBit<0>(m_bIsInstant);
   flags.SetBit<1>(m_uiDuration != 0);
   flags.SetBit<2>(m_uiTickTime != 0);

   stream.Write8(flags.Value());

   if (m_uiDuration != 0) stream.Write32(m_uiDuration);
   if (m_uiTickTime != 0) stream.Write32(m_uiTickTime);
}
コード例 #7
0
void SpellEffect::Serialize(ByteStream& stream) const
{
   stream.Write8(static_cast<unsigned char>(m_enEffectType));
   m_valueOrRange.Serialize(stream);
}
コード例 #8
0
void DisableSpellEffect::Serialize(ByteStream& stream) const
{
   BaseClass::Serialize(stream);

   stream.Write8(static_cast<unsigned char>(m_enDisableType));
}
コード例 #9
0
 /// serialize message by putting bytes to stream
 virtual void Serialize(ByteStream& stream) const override
 {
    stream.Write8(c_bResponseValue);
 }