Esempio n. 1
0
        public override void OnResponse(Server.Network.NetState sender, RelayInfo info)
        {
            switch (info.ButtonID)
            {
            case 1:                      // No: make a new jail entry\
                JailSystem.InitJail(m_User, m_Offender, true);
                break;

            case 2:                     // Yes: set current jail entry to full account
                m_ExistingJail.FullJail = true;
                m_ExistingJail.AddComment(m_User, "Turning on full jail to jail {0}", m_Offender.Name);
                m_User.SendGump(new JailViewGump(m_User, m_ExistingJail, null));
                break;
            }
        }
Esempio n. 2
0
        public override void OnResponse(Server.Network.NetState sender, RelayInfo info)
        {
            switch (info.ButtonID)
            {
            case 1:                      // Previous page
            {
                m_User.SendGump(new JailSearchGump(m_Mobiles, m_Accounts, m_User, m_Page - 1, m_Callback));
                break;
            }

            case 2:                     // Next page
            {
                m_User.SendGump(new JailSearchGump(m_Mobiles, m_Accounts, m_User, m_Page + 1, m_Callback));
                break;
            }

            case 0:                     // Close
            {
                if (m_Callback != null)
                {
                    try
                    {
                        m_Callback.DynamicInvoke(new object[] { m_User });
                    }
                    catch {}
                }
                break;
            }

            default:
            {
                int type  = info.ButtonID / 10;
                int index = info.ButtonID % 10;

                bool usemobs = m_Mobiles.Count > 0;

                Mobile  m   = null;
                Account acc = null;

                if (usemobs)
                {
                    m = m_Mobiles[m_Page * 10 + index];
                }
                else
                {
                    acc = m_Accounts[m_Page * 10 + index];
                }

                if (acc != null)
                {
                    m = JailSystem.GetOnlineMobile(acc);
                }
                else if (m != null)
                {
                    acc = m.Account as Account;
                }

                switch (type)
                {
                case 1:                                 // View Account details
                {
                    m_User.SendGump(new JailSearchGump(m_Mobiles, m_Accounts, m_User, m_Page, m_Callback));

                    if (acc != null)
                    {
                        m_User.SendGump(new AdminGump(m_User, AdminGumpPage.AccountDetails_Information, 0, null, "Returned from the jail system", acc));
                    }

                    break;
                }

                case 2:                                 // View Mobile props
                {
                    m_User.SendGump(new JailSearchGump(m_Mobiles, m_Accounts, m_User, m_Page, m_Callback));

                    if (m_User.AccessLevel >= AccessLevel.Lead && m != null)
                    {
                        m_User.SendGump(new PropertiesGump(m_User, m));
                    }
                    break;
                }

                case 3:                                 // View Client gump
                {
                    m_User.SendGump(new JailSearchGump(m_Mobiles, m_Accounts, m_User, m_Page, m_Callback));

                    if (m_User.AccessLevel >= AccessLevel.Lead && m != null && m.NetState != null)
                    {
                        m_User.SendGump(new ClientGump(m_User, m.NetState));
                    }
                    else
                    {
                        m_User.SendMessage("That mobile is no longer online or you do not have sufficient access.");
                    }
                    break;
                }

                case 4:                                 // Jail button
                {
                    if (acc != null)
                    {
                        JailSystem.InitJail(m_User, acc);
                    }
                    else if (m != null)
                    {
                        JailSystem.InitJail(m_User, m);
                    }

                    break;
                }

                case 5:                                 // History button
                {
                    if (acc != null)
                    {
                        List <JailEntry> history = JailSystem.SearchHistory(acc);

                        if (history.Count > 0)
                        {
                            m_User.SendGump(new JailListingGump(m_User, history, new JailGumpCallback(JailSearchCallback)));
                        }
                        else
                        {
                            m_User.SendMessage("No jail entries have been found for that account");
                            m_User.SendGump(new JailSearchGump(m_Mobiles, m_Accounts, m_User, m_Page, m_Callback));
                        }
                    }
                    break;
                }
                }
                break;
            }
            }
        }