public void Write(StreamHandler Writer) { Writer.WriteUInt32((uint)Flags); if ((Flags & ( SpellCastTargetFlags.Unit | SpellCastTargetFlags.Unk2 | SpellCastTargetFlags.Object | SpellCastTargetFlags.Corpse | SpellCastTargetFlags.PvPCorpse )) != 0) Writer.WritePackedGuid(TargetUnit); if ((Flags & (SpellCastTargetFlags.Item | SpellCastTargetFlags.TradeItem)) != 0) Writer.WritePackedGuid(TargetItem); if ((Flags & SpellCastTargetFlags.SourceLocation) != 0) { Writer.WritePackedGuid(SourceTransportGuid); Writer.WriteStruct<Vector3>(SourceLocation); } if ((Flags & SpellCastTargetFlags.DestLocation) != 0) { Writer.WritePackedGuid(DestTransportGuid); Writer.WriteStruct<Vector3>(DestLocation); } if ((Flags & SpellCastTargetFlags.String) != 0) Writer.WriteCString(StringTarget); }
public void Write(StreamHandler Writer) { Writer.WriteUInt32((uint)Flags); if ((Flags & ( SpellCastTargetFlags.Unit | SpellCastTargetFlags.Unk2 | SpellCastTargetFlags.Object | SpellCastTargetFlags.Corpse | SpellCastTargetFlags.PvPCorpse )) != 0) { Writer.WritePackedGuid(TargetUnit); } if ((Flags & (SpellCastTargetFlags.Item | SpellCastTargetFlags.TradeItem)) != 0) { Writer.WritePackedGuid(TargetItem); } if ((Flags & SpellCastTargetFlags.SourceLocation) != 0) { Writer.WritePackedGuid(SourceTransportGuid); Writer.WriteStruct <Vector3>(SourceLocation); } if ((Flags & SpellCastTargetFlags.DestLocation) != 0) { Writer.WritePackedGuid(DestTransportGuid); Writer.WriteStruct <Vector3>(DestLocation); } if ((Flags & SpellCastTargetFlags.String) != 0) { Writer.WriteCString(StringTarget); } }
public override void Save(StreamHandler writer) { writer.WriteUInt32((uint)Roles); writer.WriteUInt16(0); writer.WriteByte((byte)Dungeons.Length); foreach (var entry in Dungeons) writer.WriteUInt32(entry.Entry); writer.WriteByte(3); writer.WriteUInt16(0); writer.WriteByte(0); writer.WriteCString(Comment); }
public override void Save(StreamHandler writer) { writer.WriteUInt32((uint)Roles); writer.WriteUInt16(0); writer.WriteByte((byte)Dungeons.Length); foreach (var entry in Dungeons) { writer.WriteUInt32(entry.Entry); } writer.WriteByte(3); writer.WriteUInt16(0); writer.WriteByte(0); writer.WriteCString(Comment); }
public override void Save(StreamHandler writer) { writer.WriteByte((byte)UpdateType); writer.WriteBoolean(ExtraData); if (ExtraData) { writer.WriteBoolean(Queued); writer.WriteUInt16(0); writer.WriteByte((byte)Dungeons.Length); foreach (var entry in Dungeons) { writer.WriteUInt32(entry.Entry); } writer.WriteCString(Comment); } }
/// <summary> /// Saves the current ChatMessage to a stream using a StreamHandler. /// </summary> /// <param name="Writer"> /// Instance of StreamHandler used to save the current ChatMessage to a stream. /// </param> public override void Save(StreamHandler Writer) { Writer.WriteByte((byte)m_type); Writer.WriteUInt32((uint)m_language); Writer.WriteGuid(m_senderGUID); Writer.WriteUInt32(m_unknownUInt32); switch (m_type) { case ChatMessageType.MonsterSay: case ChatMessageType.MonsterParty: case ChatMessageType.MonsterYell: case ChatMessageType.MonsterWhisper: case ChatMessageType.MonsterEmote: case ChatMessageType.RaidBossEmote: case ChatMessageType.RaidBossWhisper: case ChatMessageType.BattleNet: Writer.WriteChatString(m_senderName ?? "<sender>"); Writer.WriteGuid(m_targetGUID); if (!m_targetGUID.IsEmpty && !m_targetGUID.IsPlayer && !m_targetGUID.IsPet) { Writer.WriteChatString(m_targetName ?? "<target>"); } if (m_language == Language.Addon) Writer.WriteCString(m_addonPrefix ?? "<prefix>"); Writer.WriteChatString(m_text ?? "<text>"); Writer.WriteByte((byte)m_flags); if (m_type == ChatMessageType.RaidBossEmote || m_type == ChatMessageType.RaidBossWhisper) { Writer.WriteSingle(m_displayTime); Writer.WriteBoolean(m_suspendEvent); } break; case ChatMessageType.BGSystemNeutral: case ChatMessageType.BGSystemAlliance: case ChatMessageType.BGSystemHorde: Writer.WriteGuid(m_targetGUID); if (!m_targetGUID.IsEmpty && !m_targetGUID.IsPlayer) { Writer.WriteChatString(m_targetName); } if (m_language == Language.Addon) Writer.WriteCString(m_addonPrefix ?? "<prefix>"); Writer.WriteChatString(m_text ?? "<text>"); Writer.WriteByte((byte)m_flags); break; case ChatMessageType.Achievement: case ChatMessageType.GuildAchievement: Writer.WriteGuid(m_targetGUID); if (m_language == Language.Addon) Writer.WriteCString(m_addonPrefix ?? "<prefix>"); Writer.WriteChatString(m_text ?? "<text>"); Writer.WriteByte((byte)m_flags); Writer.WriteUInt32(m_achievementId); break; case ChatMessageType.WhisperForeign: Writer.WriteChatString(m_senderName ?? "<sender>"); Writer.WriteGuid(m_targetGUID); if (m_language == Language.Addon) Writer.WriteCString(m_addonPrefix ?? "<prefix>"); Writer.WriteChatString(m_text ?? "<text>"); Writer.WriteByte((byte)m_flags); break; default: if (GameMasterMessage) Writer.WriteChatString(m_senderName ?? "<sender>"); if (m_type == ChatMessageType.Channel) Writer.WriteCString(m_channel ?? "<channel>"); Writer.WriteGuid(m_targetGUID); if (m_language == Language.Addon) Writer.WriteCString(m_addonPrefix ?? "<prefix>"); Writer.WriteChatString(m_text ?? "<text>"); Writer.WriteByte((byte)m_flags); break; } }
public override void Save(StreamHandler writer) { writer.WriteByte((byte)UpdateType); writer.WriteBoolean(ExtraData); if (ExtraData) { writer.WriteBoolean(Queued); writer.WriteUInt16(0); writer.WriteByte((byte)Dungeons.Length); foreach (var entry in Dungeons) writer.WriteUInt32(entry.Entry); writer.WriteCString(Comment); } }
/// <summary> /// Saves the current ChatMessage to a stream using a StreamHandler. /// </summary> /// <param name="Writer"> /// Instance of StreamHandler used to save the current ChatMessage to a stream. /// </param> public override void Save(StreamHandler Writer) { Writer.WriteByte((byte)m_type); Writer.WriteUInt32((uint)m_language); Writer.WriteGuid(m_senderGUID); Writer.WriteUInt32(m_unknownUInt32); switch (m_type) { case ChatMessageType.MonsterSay: case ChatMessageType.MonsterParty: case ChatMessageType.MonsterYell: case ChatMessageType.MonsterWhisper: case ChatMessageType.MonsterEmote: case ChatMessageType.RaidBossEmote: case ChatMessageType.RaidBossWhisper: case ChatMessageType.BattleNet: Writer.WriteChatString(m_senderName ?? "<sender>"); Writer.WriteGuid(m_targetGUID); if (!m_targetGUID.IsEmpty && !m_targetGUID.IsPlayer && !m_targetGUID.IsPet) { Writer.WriteChatString(m_targetName ?? "<target>"); } if (m_language == Language.Addon) { Writer.WriteCString(m_addonPrefix ?? "<prefix>"); } Writer.WriteChatString(m_text ?? "<text>"); Writer.WriteByte((byte)m_flags); if (m_type == ChatMessageType.RaidBossEmote || m_type == ChatMessageType.RaidBossWhisper) { Writer.WriteSingle(m_displayTime); Writer.WriteBoolean(m_suspendEvent); } break; case ChatMessageType.BGSystemNeutral: case ChatMessageType.BGSystemAlliance: case ChatMessageType.BGSystemHorde: Writer.WriteGuid(m_targetGUID); if (!m_targetGUID.IsEmpty && !m_targetGUID.IsPlayer) { Writer.WriteChatString(m_targetName); } if (m_language == Language.Addon) { Writer.WriteCString(m_addonPrefix ?? "<prefix>"); } Writer.WriteChatString(m_text ?? "<text>"); Writer.WriteByte((byte)m_flags); break; case ChatMessageType.Achievement: case ChatMessageType.GuildAchievement: Writer.WriteGuid(m_targetGUID); if (m_language == Language.Addon) { Writer.WriteCString(m_addonPrefix ?? "<prefix>"); } Writer.WriteChatString(m_text ?? "<text>"); Writer.WriteByte((byte)m_flags); Writer.WriteUInt32(m_achievementId); break; case ChatMessageType.WhisperForeign: Writer.WriteChatString(m_senderName ?? "<sender>"); Writer.WriteGuid(m_targetGUID); if (m_language == Language.Addon) { Writer.WriteCString(m_addonPrefix ?? "<prefix>"); } Writer.WriteChatString(m_text ?? "<text>"); Writer.WriteByte((byte)m_flags); break; default: if (GameMasterMessage) { Writer.WriteChatString(m_senderName ?? "<sender>"); } if (m_type == ChatMessageType.Channel) { Writer.WriteCString(m_channel ?? "<channel>"); } Writer.WriteGuid(m_targetGUID); if (m_language == Language.Addon) { Writer.WriteCString(m_addonPrefix ?? "<prefix>"); } Writer.WriteChatString(m_text ?? "<text>"); Writer.WriteByte((byte)m_flags); break; } }