Exemple #1
0
        public override bool OnDragDrop(Mobile from, Item dropped)
        {
            PlayerLetter mail = dropped as PlayerLetter;
            Parcel       box  = dropped as Parcel;

            if (mail != null)
            {
                if (mail.m_From != null && mail.m_To != null)
                {
                    from.SendMessage("You post a letter!");
                    if (mail.m_From != from)
                    {
                        mail.m_From.SendMessage("Your letter has been posted by " + from.Name + ".");
                    }
                    mail.m_To.AddToBackpack(dropped);
                    mail.m_To.SendMessage("You have received a letter from " + mail.m_From.Name + "!");

                    return(true);
                }
                from.SendMessage("That letter hasn't been addressed!");

                return(false);
            }
            else if (box != null)
            {
                if (box.From != null && box.To != null)
                {
                    from.SendMessage("You post a package!");
                    if (box.From != from)
                    {
                        box.From.SendMessage("Your package has been posted by " + from.Name + ".");
                    }
                    box.To.AddToBackpack(dropped);
                    box.To.SendMessage("You have received a package from " + box.From.Name + "!");

                    return(true);
                }
                from.SendMessage("That package hasn't been addressed!");
                return(false);
            }
            else
            {
                from.SendMessage("That's not a rubbish bin!");
                return(false);
            }
        }
        public override void OnResponse(NetState state, RelayInfo info)
        {
            Mobile from = state.Mobile;

            switch (info.ButtonID)
            {
                case 1: PlayerLetter letter = new PlayerLetter();
                    TextRelay text = info.GetTextEntry(1);
                    string un = (text == null ? null : text.Text.Trim());
                    letter.BodyText = un;
                    letter.m_From = m_Owner;
                    letter.m_To = m_From;
                    letter.m_Time = DateTime.Now;
                    m_Owner.AddToBackpack(letter);
                    from.CloseGump(typeof(WriteLetterGump));
                    break;
                case 2: from.Target = new ParcelTarget(m_Owner, m_From);
                    break;
            }
        }
Exemple #3
0
        public LetterGump(Mobile owner, string text, Mobile from, Item master)
            : base(10, 10)
        {
            m_Master = master;
            playlet = m_Master as PlayerLetter;
            m_From = from;
            m_Letter = text;
            owner.CloseGump(typeof(LetterGump));

            int gumpX = 0; int gumpY = 0;

            m_Owner = owner;

            Closable = true;
            Disposable = true;
            Dragable = true;
            Resizable = false;

            AddPage(0);

            gumpX = 0; gumpY = 0;
            AddImage(gumpX, gumpY, 0x820);

            gumpX = 17; gumpY = 37;
            AddImage(gumpX, gumpY, 0x821);

            gumpX = 17; gumpY = 107;
            AddImage(gumpX, gumpY, 0x822);

            gumpX = 18; gumpY = 177;
            AddImage(gumpX, gumpY, 0x823);

            gumpX = 245; gumpY = 183;
            AddButton(gumpX, gumpY, 0xFAE, 0xFB0, 1, GumpButtonType.Reply, 0);

            gumpX = 196; gumpY = 185;
            AddLabel(gumpX, gumpY, 0, "Reply");

            gumpX = 30; gumpY = 37;
            AddHtml(gumpX, gumpY, 234, 137, m_Letter, false, false);
        }