예제 #1
0
        public override void OnResponse(NetState sender, RelayInfo info)
        {
            Mobile      f    = sender.Mobile;
            NubiaPlayer from = f as NubiaPlayer;

            int id = info.ButtonID;

            if (id >= 100)
            {
                DonEntry entry = m_owner.Dons.DonsEntrys[id - 100];
                from.SendGump(new GumpNewDonChoix(from, entry.Classe, entry.GiveAtLevel, entry.Don, 0));
            }
        }
예제 #2
0
        public override void OnResponse(NetState sender, RelayInfo info)
        {
            Mobile      f    = sender.Mobile;
            NubiaPlayer from = f as NubiaPlayer;

            int id = info.ButtonID;

            if (id == 5)
            {
                from.SendGump(new GumpNewDonChoix(from, m_classe, m_niveau, (DonEnum)(mDonView), --m_page));
            }
            else if (id == 6)
            {
                from.SendGump(new GumpNewDonChoix(from, m_classe, m_niveau, (DonEnum)(mDonView), ++m_page));
            }
            else if (id > 100)
            {
                from.SendGump(new GumpNewDonChoix(from, m_classe, m_niveau, (DonEnum)(id - 100), m_page));
            }
            else if (id == 9)
            {
                from.Dons.DonsEntrys.Add(new DonEntry(mDonView, m_classe, m_niveau, true));
                for (int d = 0; d < from.Dons.DonsEntrys.Count; d++)
                {
                    DonEntry entry = from.Dons.DonsEntrys[d];
                    if (entry.Don == DonEnum.DonSupClasse && entry.GiveAtLevel == m_niveau && entry.Classe == m_classe)
                    {
                        entry.Choosen = true;
                        break;
                    }
                }
                from.Dons.ComputeDons();
                from.SendMessage("Vous avez appri le don {0}", BaseDon.getDonName(mDonView));
                from.SendGump(new GumpDons(m_owner, m_owner));
            }
        }
예제 #3
0
        public GumpDons(NubiaPlayer _owner, NubiaPlayer _viewer)
            : base("Dons de " + _owner.Name, 640, 480)
        {
            m_owner  = _owner;
            m_viewer = _viewer;

            int y     = YBase;
            int x     = XBase;
            int line  = 0;
            int scale = 110;
            int decal = 30;

            int col      = 0;
            int coldecal = 310;

            int limit = 8;

            if (m_owner.Dons == null)
            {
                return;
            }

            int page = 1;


            AddPage(page);

            int nbrPage = (int)Math.Truncate((double)m_owner.Dons.DonsEntrys.Count - 1 / 8.0);

            //int dsup = 0;

            /* for (int i = -1; i < (int)ClasseType.Maximum; i++)
             * {
             *
             *   if (m_owner.DonCredits.ContainsKey((ClasseType)i))
             *   {
             *       if (m_owner.DonCredits[(ClasseType)i] > 0)
             *       {
             *           dsup += m_owner.DonCredits[(ClasseType)i];
             *       }
             *   }
             *
             * }*/
            /*  if (dsup > 0)
             * {
             *    AddButtonPageSuivante(x, y, 10);
             *    AddLabel(x + 50, y, ColorTextGreen, "Choisir un nouveau don");
             *    AddLabel(x + 200, y, ColorTextGray, "( " + dsup + " don" + (dsup > 1 ? "" : "s") + " à choisir )");
             * }*/
            if (nbrPage > 0)
            {
                //AddButton(x+500, y, 4014, 4015, 5, GumpButtonType.Page, page - 1);

                AddButton(x + 550, y, 4005, 4006, 6, GumpButtonType.Page, page + 1);
            }
            List <DonEnum> display = new List <DonEnum>();

            Console.WriteLine("Nombre de dons au total: " + m_owner.Dons.DonsEntrys.Count);
            for (int e = 0; e < m_owner.Dons.DonsEntrys.Count; e++)
            {
                DonEntry entry   = m_owner.Dons.DonsEntrys[e];
                DonEnum  donEnum = entry.Don;
                bool     canView = true;
                if (display.Contains(donEnum) && donEnum != DonEnum.DonSupClasse)
                {
                    canView = false;
                }
                if (entry.Don == DonEnum.DonSupClasse && entry.Choosen)
                {
                    canView = false;
                }
                // Console.WriteLine("Don: " + donEnum.ToString());
                if (canView)
                {
                    display.Add(donEnum);
                    BaseDon don = BaseDon.getDon(donEnum);
                    //  Console.WriteLine("Don entry: " + entry);
                    //   Console.WriteLine("Don: " + don);
                    int ly = y + line * scale + 30;
                    int lx = x + col * coldecal;


                    AddBackground(lx, ly, 300, 50, 9400);
                    AddLabel(lx + 5, ly + 2, ColorTextYellow, BaseDon.getDonName(donEnum));


                    int cd = 200;
                    if (entry.Classe > ClasseType.Roublard)
                    {
                        cd -= 55;
                    }
                    AddLabel(lx + 5 + cd, ly + 2, ColorTextLight, (entry.Classe == ClasseType.None ? "Général" : Classe.GetNameClasse(entry.Classe)));
                    AddLabel(lx + 5 + 250, ly + 2, ColorText, "Niv " + entry.GiveAtLevel.ToString());

                    AddBackground(lx, ly + 25, 300, 80, 9200);



                    if (entry.Don == DonEnum.DonSupClasse && !entry.Choosen)
                    {
                        //AddImage(lx + 10, ly + 40, 2277);
                        AddButton(lx + 10, ly + 40, 2277, 2277, (int)e + 100, GumpButtonType.Reply, 0);
                        String desc = "<BASEFONT COLOR=#EE0000>Choississez votre don en cliquant sur l'icone</BASEFONT>";

                        AddHtml(lx + 60, ly + 35, 235, 60, desc, true, true);
                    }
                    else if (don != null)
                    {
                        AddImage(lx + 10, ly + 40, don.Icone);
                        if (m_owner.Dons.getDonNiveau(donEnum) > 1)
                        {
                            AddLabel(lx + 10, ly + 80, ColorTextYellow, "Rang:" + m_owner.Dons.getDonNiveau(donEnum));
                        }
                        String desc = don.Description;
                        if (don.CanUse)
                        {
                            desc += "<br>(Utilisation: .don " + don.ToString() + ")";
                        }
                        AddHtml(lx + 60, ly + 35, 235, 60, desc, true, true);
                    }

                    line++;

                    if (line >= 4)
                    {
                        col++;
                        line = 0;
                    }
                    if (col > 1)
                    {
                        col  = 0;
                        line = 0;
                        page++;
                        AddPage(page);
                        AddButton(x + 500, y, 4014, 4015, 5, GumpButtonType.Page, page - 1);
                        if (nbrPage > page)
                        {
                            AddButton(x + 550, y, 4005, 4006, 6, GumpButtonType.Page, page + 1);
                        }
                    }
                }
            }
        }