Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
 public override void Save(StreamHandler writer)
 {
     writer.WriteUInt32(Dungeon.Entry);
     writer.WriteByte((byte)State);
     writer.WriteUInt32(ProposalId);
     writer.WriteUInt32(BossesKilled);
     writer.WriteBoolean(SameDungeon);
     writer.WriteByte((byte)Players.Length);
     foreach (var info in Players)
     {
         writer.WriteUInt32((uint)info.Role);
         writer.WriteBoolean(info.SelfPlayer);
         writer.WriteBoolean(info.InDungeon);
         writer.WriteBoolean(info.SameGroup);
         writer.WriteBoolean(info.Answered);
         writer.WriteBoolean(info.Accepted);
     }
 }
Esempio n. 3
0
        /// <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;
            }
        }
Esempio n. 4
0
 public override void Save(StreamHandler writer)
 {
     writer.WriteUInt32(Dungeon.Entry);
     writer.WriteByte((byte)State);
     writer.WriteUInt32(ProposalId);
     writer.WriteUInt32(BossesKilled);
     writer.WriteBoolean(SameDungeon);
     writer.WriteByte((byte)Players.Length);
     foreach (var info in Players)
     {
         writer.WriteUInt32((uint)info.Role);
         writer.WriteBoolean(info.SelfPlayer);
         writer.WriteBoolean(info.InDungeon);
         writer.WriteBoolean(info.SameGroup);
         writer.WriteBoolean(info.Answered);
         writer.WriteBoolean(info.Accepted);
     }
 }
Esempio n. 5
0
        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);
            }
        }
Esempio n. 6
0
        /// <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;
            }
        }