Пример #1
0
        private static bool Deserialize(XmlDocument doc)
        {
            VitaNexCore.TryCatch(
                () =>
            {
                if (doc.FirstChild == null || doc.FirstChild.Name != "messages")
                {
                    return;
                }

                XmlElement root = doc["messages"];

                if (root == null)
                {
                    return;
                }

                MOTDMessage message;
                TimeStamp date;
                bool published;
                string author, title, content, uid;

                foreach (XmlElement node in root)
                {
                    VitaNexCore.TryCatch(
                        () =>
                    {
                        date = node.HasAttribute("timestamp")
                                                                                   ? (TimeStamp)Double.Parse(node.GetAttribute("timestamp"))
                                                                                   : TimeStamp.UtcNow;
                        published = !node.HasAttribute("published") || Boolean.Parse(node.GetAttribute("published"));
                        author    = node.HasAttribute("author") ? node.GetAttribute("author") : "Anonymous";
                        title     = node.HasAttribute("title") ? node.GetAttribute("title") : "Update";
                        content   = node["content"] != null ? node["content"].InnerText.Replace(@"\r\n", "[br]") : String.Empty;

                        uid = node.HasAttribute("uid")
                                                                                  ? node.GetAttribute("uid")
                                                                                  : CryptoGenerator.GenString(CryptoHashType.MD5, String.Format("{0}", date.Stamp)).Replace("-", "");

                        message = new MOTDMessage(uid, date, title, content, author, published);

                        if (Messages.ContainsKey(uid))
                        {
                            Messages[uid] = message;
                        }
                        else
                        {
                            Messages.Add(uid, message);
                        }
                    },
                        CMOptions.ToConsole);
                }
            },
                CMOptions.ToConsole);

            return(true);
        }
Пример #2
0
        private static bool HandlePopupRequest(PlayerMobile user, MOTDMessage message)
        {
            if (user == null || user.Deleted)
            {
                return(false);
            }

            if (message == null)
            {
                user.SendMessage(0x22, "No message to display.");
                return(false);
            }

            SuperGump.Send(new MOTDMessageOverviewGump(user, selected: message));
            return(true);
        }