public static string TextMessageRequest(TextMessageType textMessageType, int senderId, int recipientId, string content)
        {
            XmlDocument document = new XmlDocument();

            XmlElement Message = document.CreateElement(MessageTags.Message);

            document.AppendChild(Message);

            XmlElement MessageType = document.CreateElement(MessageTags.MessageType);

            MessageType.InnerText = ((int)MessageTypes.TextMessageRequest).ToString();
            Message.AppendChild(MessageType);

            XmlElement TextMessageType = document.CreateElement(MessageTags.TextMessageType);

            TextMessageType.InnerText = ((int)textMessageType).ToString();
            Message.AppendChild(TextMessageType);

            XmlElement SenderId = document.CreateElement(MessageTags.SenderId);

            SenderId.InnerText = senderId.ToString();
            Message.AppendChild(SenderId);

            XmlElement RecipientId = document.CreateElement(MessageTags.RecipientId);

            RecipientId.InnerText = recipientId.ToString();
            Message.AppendChild(RecipientId);

            XmlElement Content = document.CreateElement(MessageTags.Content);

            Content.InnerText = content;
            Message.AppendChild(Content);

            return(document.OuterXml);
        }
示例#2
0
 public TextMessageRequestModel(MessageTypes messageType, TextMessageType textMessageType, int senderId, int recipientId, string content) : base(messageType)
 {
     this.textMessageType = textMessageType;
     this.senderId        = senderId;
     this.recipientId     = recipientId;
     this.content         = content;
 }
        private static TextMessageRequestModel ReadTextMessageRequest(MessageTypes messageType, XmlDocument message)
        {
            TextMessageType textMessageType = (TextMessageType)Int32.Parse(message.GetElementsByTagName(MessageTags.TextMessageType).Item(0).InnerText);
            int             senderId        = Int32.Parse(message.GetElementsByTagName(MessageTags.SenderId).Item(0).InnerText);
            int             recipientId     = Int32.Parse(message.GetElementsByTagName(MessageTags.RecipientId).Item(0).InnerText);
            string          content         = message.GetElementsByTagName(MessageTags.Content).Item(0).InnerText;

            return(new TextMessageRequestModel(messageType, textMessageType, senderId, recipientId, content));
        }
示例#4
0
        public void SendTextMessage(TextMessageType type, string text)
        {
            NetworkMessage message = new NetworkMessage();

            TextMessagePacket.Add(
                message,
                type,
                text
                );
            Send(message);
        }
示例#5
0
        /// <summary>
        ///     Adds the specified message.
        /// </summary>
        /// <param name="message">The message.</param>
        /// <param name="type">The type.</param>
        /// <param name="text">The text.</param>
        /// <param name="position">The position.</param>
        /// <param name="primaryValue">The primary value.</param>
        /// <param name="primaryColor">Color of the primary.</param>
        /// <param name="secondaryValue">The secondary value.</param>
        /// <param name="secondaryColor">Color of the secondary.</param>
        /// <exception cref="ArgumentNullException"></exception>
        public static void Add(NetworkMessage message, TextMessageType type, string text, IVector3 position, uint?primaryValue, byte?primaryColor, uint?secondaryValue, byte?secondaryColor)
        {
            message.AddPacketType(GamePacketType.TextMessage);
            message.AddTextMessageType(type);

            switch (type)
            {
            case TextMessageType.DamageDealt:
            case TextMessageType.DamageReceived:
            case TextMessageType.DamageOthers:
            {
                if (position == null)
                {
                    throw new ArgumentNullException(nameof(position));
                }

                if (primaryValue == null)
                {
                    throw new ArgumentNullException(nameof(primaryValue));
                }

                if (primaryColor == null)
                {
                    throw new ArgumentNullException(nameof(primaryColor));
                }

                if (secondaryValue == null)
                {
                    throw new ArgumentNullException(nameof(secondaryValue));
                }

                if (secondaryColor == null)
                {
                    throw new ArgumentNullException(nameof(secondaryColor));
                }

                message.AddVector3(position);
                message.AddUInt32(primaryValue.Value);
                message.AddByte(primaryColor.Value);
                message.AddUInt32(secondaryValue.Value);
                message.AddByte(secondaryColor.Value);
                break;
            }

            case TextMessageType.Heal:
            case TextMessageType.HealOthers:
            case TextMessageType.Experience:
            case TextMessageType.ExperienceOthers:
            {
                if (position == null)
                {
                    throw new ArgumentNullException(nameof(position));
                }

                if (primaryValue == null)
                {
                    throw new ArgumentNullException(nameof(primaryValue));
                }

                if (primaryColor == null)
                {
                    throw new ArgumentNullException(nameof(primaryColor));
                }

                message.AddVector3(position);
                message.AddUInt32(primaryValue.Value);
                message.AddByte(primaryColor.Value);
                break;
            }
            }

            message.AddString(text);
        }
 public static void Add(NetworkMessage message, TextMessageType type, string text)
 {
     message.AddByte((byte)ServerPacketType.TextMessage);
     message.AddByte((byte)type);
     message.AddString(text);
 }
示例#7
0
 public static void Add(NetworkMessage message, TextMessageType type, string text)
 {
     message.AddByte((byte)ServerPacketType.TextMessage);
     message.AddByte((byte)type);
     message.AddString(text);
 }
示例#8
0
 /// <summary>
 ///     Adds the type of the text message.
 /// </summary>
 /// <param name="message">The message.</param>
 /// <param name="textMessageType">Type of the text message.</param>
 public static void AddTextMessageType(this NetworkMessage message, TextMessageType textMessageType)
 {
     message.AddByte((byte)textMessageType);
 }
示例#9
0
 public void SendTextMessage(TextMessageType type, string text)
 {
     NetworkMessage message = new NetworkMessage();
     TextMessagePacket.Add(
         message,
         type,
         text
     );
     Send(message);
 }