示例#1
0
        public static void RegisterEntry(string categoryName, int itemID, string name, int price)
        {
            YardGumpCategory category = GetRegisteredCategory(categoryName);

            if (category == null)
            {
                return;
            }

            YardGumpEntry entry = new YardGumpEntry(itemID, name, price);

            category.AddEntry(entry);
        }
示例#2
0
        public YardGump(Mobile owner, YardShovel shovel, string currentCategory, int currentPage, int itemID, int price)
            : base(shovel.XStart, shovel.YStart)
        {
            string Title = "Yard & Garden System - " + currentCategory;

            m_SelectedID  = itemID;
            m_ItemPrice   = price;
            m_Shovel      = shovel;
            m_CurrentPage = currentPage;
            if (currentCategory != null && YardRegistry.Categories.ContainsKey(currentCategory))
            {
                m_CurrentCategory = YardRegistry.Categories[currentCategory];
            }
            m_Shovel.Category = currentCategory;
            m_Shovel.Page     = currentPage;

            ComputeGold(owner);

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

            //Page 0
            AddPage(0);

            AddBackground(59, 55, 300, 300, 3600);                                      //MainGround
            AddBackground(34, 0, 350, 50, 3600);                                        //TitleGround
            AddBackground(385, 209, 150, 200, 3600);                                    //PicGround

            AddBackground(59, 358, 300, 50, 3600);                                      //PriceGround
            AddBackground(372, 93, 165, 50, 3600);                                      //PlaceGround
            AddBackground(372, 143, 165, 50, 3600);                                     //GoldGround

            AddButton(472, 102, 2642, 2643, (int)Buttons.Place, GumpButtonType.Reply, 0);
            AddLabel(398, 109, 197, "PLACE");
            AddItem(455, 98, 6022);                                                                             //LPGrass
            AddItem(489, 98, 6024);                                                                             //RPGrass

            AddLabel(116, 375, 37, @"Price : ");
            AddLabel(166, 375, 37, String.Format("{0:0,0} Gold", m_ItemPrice));
            AddLabel(387, 160, 48, String.Format("Gold : {0:0,0}", m_PlayerGold));

            AddItem(337, 110, 6019);                                                                            //TGrass
            AddItem(337, 155, 6019);                                                                            //BGrass
            AddItem(510, 183, 6024);                                                                            //FGrass
            AddItem(328, 190, 3317);                                                                            //TLog1
            AddItem(348, 195, 3318);                                                                            //TLog2
            AddItem(371, 221, 3319);                                                                            //TLog3
            AddItem(339, 354, 3316);                                                                            //BLog1
            AddItem(362, 338, 3315);                                                                            //BLog2

            AddItem(0, 8, 3497);                                                                                //LTree
            AddItem(330, 8, 3497);                                                                              //RTree
            AddItem(334, 266, 3312);                                                                            //RBVine
            AddItem(334, 192, 3312);                                                                            //RMVine
            AddItem(334, 118, 3312);                                                                            //RTVine
            AddItem(39, 266, 3308);                                                                             //LBVine
            AddItem(39, 192, 3308);                                                                             //LMVine
            AddItem(39, 118, 3308);                                                                             //LTVine

            AddItem(35, 325, 3310);                                                                             //LPVine
            AddItem(307, 325, 3314);                                                                            //RPVine
            AddButton(490, 365, 22124, 22125, (int)Buttons.Settings, GumpButtonType.Reply, 0);

            AddBackground(538, 0, 165, 409, 3600);
            AddLabel(586, 16, 68, "Categories");

            int categoryID = 0;

            m_Categories = new string[YardRegistry.Categories.Keys.Count];
            foreach (string categoryName in YardRegistry.Categories.Keys)
            {
                if (categoryName == currentCategory)
                {
                    AddButton(557, 45 + (25 * categoryID), 2361, 2360, 8851 + categoryID, GumpButtonType.Reply, 0);
                }
                else
                {
                    AddButton(557, 45 + (25 * categoryID), 2360, 2361, 8851 + categoryID, GumpButtonType.Reply, 0);
                }
                AddLabel(570, 42 + (25 * categoryID), 69, categoryName);
                m_Categories[categoryID] = categoryName;
                categoryID++;
            }

            if (m_CurrentCategory != null)
            {
                int i = 0;
                foreach (YardGumpEntry entry in m_CurrentCategory.Pages[m_CurrentPage].Values)
                {
                    entry.AppendToGump(this, 107 + (i >= 12 ? 143 : 0), 95 + (i >= 12 ? 20 * (i - 12) : 20 * i));
                    i++;
                }
            }
            else
            {
                string welcome = String.Format("{0}  {1} {2} spaces in front, {3} spaces to the left, {4} spaces to the right and {5} spaces behind the house.  {6}",
                                               "<basefont color=#99AA22>Welcome to the Yard & Garden System!",
                                               "Here you can purchase items for your yard.  These items can be placed while standing in your house,",
                                               YardSettings.Front, YardSettings.Left, YardSettings.Right, YardSettings.Back,
                                               "(Can also be placed inside)  Select the catagory to the right and design away!</basefont>");
                AddHtml(86, 96, 246, 258, welcome, false, false);
            }

            if (m_CurrentCategory != null && m_CurrentCategory.Pages.Count > m_CurrentPage + 1)
            {
                AddButton(295, 74, 9903, 9904, (int)Buttons.Next, GumpButtonType.Reply, 0);
            }

            if (m_CurrentCategory != null && m_CurrentPage > 0)
            {
                AddButton(109, 74, 9909, 9910, (int)Buttons.Prev, GumpButtonType.Reply, 0);
            }

            if (m_SelectedID != 0)
            {
                AddItem(410, 235, m_SelectedID);
            }

            AddLabel(80, 16, 68, Title);
        }
示例#3
0
        public YardGump(Mobile owner, YardShovel shovel, string currentCategory, int currentPage, int itemID, int price)
            : base(shovel.XStart, shovel.YStart)
        {
            string Title = "Yard & Garden System - " + currentCategory;
            m_SelectedID = itemID;
            m_ItemPrice = price;
            m_Shovel = shovel;
            m_CurrentPage = currentPage;
            if (currentCategory != null && YardRegistry.Categories.ContainsKey(currentCategory))
            {
                m_CurrentCategory = YardRegistry.Categories[currentCategory];
            }
            m_Shovel.Category = currentCategory;
            m_Shovel.Page = currentPage;

            ComputeGold(owner);

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

            //Page 0
            AddPage(0);

            AddBackground(59, 55, 300, 300, 3600);						//MainGround
            AddBackground(34, 0, 350, 50, 3600);						//TitleGround
            AddBackground(385, 209, 150, 200, 3600);					//PicGround

            AddBackground(59, 358, 300, 50, 3600);						//PriceGround
            AddBackground(372, 93, 165, 50, 3600);						//PlaceGround
            AddBackground(372, 143, 165, 50, 3600);					//GoldGround

            AddButton(472, 102, 2642, 2643, (int)Buttons.Place, GumpButtonType.Reply, 0);
            AddLabel(398, 109, 197, "PLACE");
            AddItem(455, 98, 6022);										//LPGrass
            AddItem(489, 98, 6024);										//RPGrass

            AddLabel(116, 375, 37, @"Price : ");
            AddLabel(166, 375, 37, String.Format("{0:0,0} Gold", m_ItemPrice));
            AddLabel(387, 160, 48, String.Format("Gold : {0:0,0}", m_PlayerGold));

            AddItem(337, 110, 6019);										//TGrass
            AddItem(337, 155, 6019);										//BGrass
            AddItem(510, 183, 6024);										//FGrass
            AddItem(328, 190, 3317);										//TLog1
            AddItem(348, 195, 3318);										//TLog2
            AddItem(371, 221, 3319);										//TLog3
            AddItem(339, 354, 3316);										//BLog1
            AddItem(362, 338, 3315);										//BLog2

            AddItem(0, 8, 3497);											//LTree
            AddItem(330, 8, 3497);											//RTree
            AddItem(334, 266, 3312);										//RBVine
            AddItem(334, 192, 3312);										//RMVine
            AddItem(334, 118, 3312);										//RTVine
            AddItem(39, 266, 3308);										//LBVine
            AddItem(39, 192, 3308);										//LMVine
            AddItem(39, 118, 3308);										//LTVine

            AddItem(35, 325, 3310);										//LPVine
            AddItem(307, 325, 3314);										//RPVine
            AddButton(490, 365, 22124, 22125, (int)Buttons.Settings, GumpButtonType.Reply, 0);

            AddBackground(538, 0, 165, 409, 3600);
            AddLabel(586, 16, 68, "Categories");

            int categoryID = 0;
            m_Categories = new string[YardRegistry.Categories.Keys.Count];
            foreach (string categoryName in YardRegistry.Categories.Keys)
            {
                if (categoryName == currentCategory)
                {
                    AddButton(557, 45 + (25 * categoryID), 2361, 2360, 8851 + categoryID, GumpButtonType.Reply, 0);
                }
                else
                {
                    AddButton(557, 45 + (25 * categoryID), 2360, 2361, 8851 + categoryID, GumpButtonType.Reply, 0);
                }
                AddLabel(570, 42 + (25 * categoryID), 69, categoryName);
                m_Categories[categoryID] = categoryName;
                categoryID++;
            }

            if (m_CurrentCategory != null)
            {
                int i = 0;
                foreach (YardGumpEntry entry in m_CurrentCategory.Pages[m_CurrentPage].Values)
                {
                    entry.AppendToGump(this, 107 + (i >= 12 ? 143 : 0), 95 + (i >= 12 ? 20 * (i - 12) : 20 * i));
                    i++;
                }
            }
            else
            {
                string welcome = String.Format("{0}  {1} {2} spaces in front, {3} spaces to the left, {4} spaces to the right and {5} spaces behind the house.  {6}",
                    "<basefont color=#99AA22>Welcome to the Yard & Garden System!",
                    "Here you can purchase items for your yard.  These items can be placed while standing in your house,",
                    YardSettings.Front, YardSettings.Left, YardSettings.Right, YardSettings.Back,
                    "(Can also be placed inside)  Select the catagory to the right and design away!</basefont>");
                AddHtml(86, 96, 246, 258, welcome, false, false);
            }

            if (m_CurrentCategory != null && m_CurrentCategory.Pages.Count > m_CurrentPage + 1)
            {
                AddButton(295, 74, 9903, 9904, (int)Buttons.Next, GumpButtonType.Reply, 0);
            }

            if (m_CurrentCategory != null && m_CurrentPage > 0)
            {
                AddButton(109, 74, 9909, 9910, (int)Buttons.Prev, GumpButtonType.Reply, 0);
            }

            if (m_SelectedID != 0)
            {
                AddItem(410, 235, m_SelectedID);
            }

            AddLabel(80, 16, 68, Title);
        }