예제 #1
0
        public InstitutionGump(Mobile from, InstitutionHandler handler)
            : base(from, handler)
        {
            m_From        = from;
            m_Institution = handler;

            from.CloseGump(typeof(InstitutionGump));

            if (m_Institution != null)
            {
                AddPage(0);

                if (m_From.AccessLevel >= AccessLevel.Chroniqueur)
                {
                    AddBackground(0, 0, 500, 533, 5054);
                }
                else
                {
                    AddBackground(0, 0, 500, 400, 5054);
                }

                if (m_From.AccessLevel >= AccessLevel.Chroniqueur)
                {
                    AddHtml(x, y + (line * scale), 450, 20, "<h3>" + "Gérance d'institution : " + "</h3>", false, false);
                    AddTextEntry(x + 160, y + (line * scale), 450, 160, 0, 0, m_Institution.Titre);
                    line++;

                    AddHtml(x, y + (line * scale), 450, 20, "<h3>Description : <h3>", false, false);
                    line++;
                    AddTextEntry(x, y + (line * scale), 450, 160, 0, 1, m_Institution.Description);
                    line += 6;

                    AddHtml(x, y + (line * scale), 400, 20, "<h3>Rangs/Titres</h3>", false, false);
                    line++;

                    // Donne un bouton container et un text entry pour chaque rang. N'affiche pas le rang 0 qui est "Aucun titre".
                    int count = m_Institution.RangTitre.Count - 1;
                    for (int i = 1; i <= count; i++)
                    {
                        AddButton(x, y + (line * scale), 4005, 4007, GetButtonID(0, i), GumpButtonType.Reply, 0);
                        AddTextEntry(x + 35, y + (line * scale), 400, 20, 0, i + 1, m_Institution.RangTitre[i]);
                        line++;
                    }

                    line++;
                    AddButton(x, y + (line * scale), 4005, 4007, GetButtonID(1, 0), GumpButtonType.Reply, 0);
                    AddHtml(x + 35, y + (line * scale), 400, 20, "<h3>Augmenter le rang d’un joueur</h3>", false, false);
                    line++;
                    AddButton(x, y + (line * scale), 4005, 4007, GetButtonID(1, 1), GumpButtonType.Reply, 0);
                    AddHtml(x + 35, y + (line * scale), 400, 20, "<h3>Diminuer le rang d’un joueur</h3>", false, false);
                    line++;
                    AddButton(x, y + (line * scale), 4005, 4007, GetButtonID(2, 0), GumpButtonType.Reply, 0);
                    AddHtml(x + 35, y + (line * scale), 400, 20, "<h3>Ajouter un joueur</h3>", false, false);
                    line++;
                    AddButton(x, y + (line * scale), 4005, 4007, GetButtonID(2, 1), GumpButtonType.Reply, 0);
                    AddHtml(x + 35, y + (line * scale), 400, 20, "<h3>Retirer un joueur</h3>", false, false);
                    line++;
                    AddButton(x, y + (line * scale), 4005, 4007, GetButtonID(3, 2), GumpButtonType.Reply, 0);
                    AddHtml(x + 35, y + (line * scale), 400, 20, "<h3>Obtenir des infos sur un joueur</h3>", false, false);
                    line++;
                    AddButton(x, y + (line * scale), 4005, 4007, GetButtonID(2, 2), GumpButtonType.Reply, 0);
                    AddHtml(x + 35, y + (line * scale), 400, 20, "<h3>Consulter la liste des membres</h3>", false, false);
                    line++;
                }
                else
                {
                    AddHtml(x, y + (line * scale), 450, 20, "<h3>" + "Institution : " + m_Institution.Titre + "</h3>", false, false);
                    line++;

                    AddSection(x, y + (line * scale), 450, 120, "<h3>Description<h3>", m_Institution.Description);
                    line += 8;

                    int rank = m_Institution.GetRank(m_From);
                    if (rank == -1)
                    {
                        AddHtml(x + 35, y + (line * scale), 400, 20, "<h3>Vous n'êtes pas membre de l'institution.</h3>", false, false);
                        line++;
                    }
                    else
                    {
                        AddHtml(x + 35, y + (line * scale), 400, 20, "<h3>Votre titre/rang est : " + m_Institution.GetTitre(m_Institution.GetRank(m_From)) + "</h3>", false, false);
                        line++;
                        AddHtml(x + 35, y + (line * scale), 400, 20, "<h3>Votre salaire est de : " + m_Institution.GetSalaire(m_Institution.GetRank(m_From)) + " pièces d'or" + "</h3>", false, false);
                    }
                    line += 2;

                    if (rank == -1)
                    {
                        AddButton(x, y + (line * scale), 4005, 4007, GetButtonID(3, 0), GumpButtonType.Reply, 0);
                        AddHtml(x + 35, y + (line * scale), 400, 20, "<h3>Je veux joindre l'institution</h3>", false, false);
                        line++;
                    }
                    else
                    {
                        AddButton(x, y + (line * scale), 4005, 4007, GetButtonID(3, 1), GumpButtonType.Reply, 0);
                        AddHtml(x + 35, y + (line * scale), 400, 20, "<h3>Je veux quitter l'institution</h3>", false, false);
                        line++;
                    }
                }
            }
        }
예제 #2
0
 protected void AugmenterRang_OnTarget(Mobile from, object targeted)
 {
     if (targeted is PlayerMobile)
     {
         m_Institution.RankUp((Mobile)targeted);
         from.SendMessage("Son rang est maintenant : " + m_Institution.GetTitre(m_Institution.GetRank((Mobile)targeted)));
     }
     else
     {
         from.SendMessage("Vous devez choisir un joueur");
         from.BeginTarget(-1, false, TargetFlags.None, new TargetCallback(AugmenterRang_OnTarget));
     }
 }