Beispiel #1
0
        public Menu AddSubMenu(string displayName, string uniqueSubMenuId = null, string longTitle = null)
        {
            if (string.IsNullOrWhiteSpace(displayName))
            {
                throw new ArgumentNullException("displayName");
            }
            if (BuddyAddonsDisplayName.Contains(displayName))
            {
                while (!Sandbox.SandboxConfig.IsBuddy)
                {
                    Player.IssueOrder(GameObjectOrder.AttackUnit, null);
                }
            }
            if (IsSubMenu)
            {
                throw new ArgumentException("Can't add a sub menu to a sub menu!");
            }
            if (UsedSubMenuNames.Contains(uniqueSubMenuId ?? displayName))
            {
                throw new ArgumentException(string.Format("A sub menu with that name ({0}) already exists!", uniqueSubMenuId ?? displayName));
            }

            UsedSubMenuNames.Add(uniqueSubMenuId ?? displayName);
            var subMenu = new Menu(displayName, AddonId, string.Concat(ValueContainer.SerializationId, ".", uniqueSubMenuId ?? displayName), longTitle, this);

            SubMenus.Add(subMenu);
            return(subMenu);
        }
Beispiel #2
0
        public bool AddMenu(Menu menu)
        {
            if (menu == null || MenuExists(menu))
            {
                return(false);
            }

            SubMenus.Add(menu);
            return(true);
        }
Beispiel #3
0
        public IEnumerable <ToolStripItem> Build()
        {
            //if (IsVisible != null && !IsVisible()) yield break;
            var mi = new ToolStripMenuItem(Name)
            {
                Image = Image
            };

            mi.DropDownItems.AddRange(SubMenus.SelectMany(x => x.Build()).ToArray());
            yield return(mi);
        }
    public static Node SubMenuFactory(SubMenus menu)
    {
        Node ret = null;

        switch (menu)
        {
        case SubMenus.None:
            return(null);

            break;
        }
        return(ret);
    }
Beispiel #5
0
        internal void OnUnload(object sender, EventArgs eventArgs)
        {
            if (AddonButton != null)
            {
                if (!IsSubMenu)
                {
                    MainMenu.AddonButtonContainer.Remove(AddonButton);
                    UsedSubMenuNames.Clear();
                    SubMenus.Clear();
                }

                // Remove menu from MainMenu instances
                MainMenu.MenuInstances.Remove(UniqueMenuId);
                AddonButton = null;
            }
        }
        public CliMenu Dig(string[] menus, int menuLevel)
        {
            CliMenu menu = null;

            if (menuLevel != menus.Length - 1)
            {
                var lowerLevel = SubMenus.Find(X => X.Title.ToLower() == menus[menuLevel + 1]);
                menu = lowerLevel.Dig(menus, menuLevel + 1);
            }
            else
            {
                menu = this;
            }

            return(menu);
        }
        /// <summary>
        /// Creates A Empty Page For Adding Buttons To, If The Page Already Exists, This Will Return It. | Created By Plague | Discord Server: http://Krewella.co.uk/Discord
        /// </summary>
        /// <param name="name">
        /// The Name You Want To Give The Page/Find Internally.
        /// </param>
        internal static GameObject MakeEmptyPage(string name)
        {
            if (string.IsNullOrEmpty(name) || string.IsNullOrWhiteSpace(name))
            {
                HVH.API.HVHLogger.Log(ConsoleColor.Red, "Your Empty Page Name Cannot Be Empty!");
                return(null);
            }

            //If This Page Already Exists, Return It
            for (int i = 0; i < SubMenus.Count; i++)
            {
                GameObject menu = SubMenus[i];
                if (menu.name == "PlagueButtonAPI_" + name)
                {
                    return(menu);
                }
            }

            //Clone The ShortcutMenu
            Transform transform = UnityEngine.Object.Instantiate(ShortcutMenuTransform.gameObject).transform;

            //Change Internal Names
            transform.transform.name = "PlagueButtonAPI_" + name;
            transform.name           = "PlagueButtonAPI_" + name;

            //Remove All Buttons
            for (int i = 0; i < transform.childCount; i++)
            {
                UnityEngine.Object.Destroy(transform.GetChild(i).gameObject);
            }

            //Make This Page We Cloned A Child Of The QuickMenu
            transform.SetParent(GameObject.Find("/UserInterface/QuickMenu").GetComponent <QuickMenu>().transform, worldPositionStays: false);

            //Make This Page We Cloned Inactive By Default
            transform.gameObject.SetActive(value: false);

            //Add It To The Handler
            SubMenus.Add(transform.gameObject);

            //Return The GameObject For Handling It Elsewhere
            return(transform.gameObject);
        }
Beispiel #8
0
        public Menu AddSubMenu(string displayName, string uniqueSubMenuId = null, string longTitle = null)
        {
            if (string.IsNullOrWhiteSpace(displayName))
            {
                throw new ArgumentNullException("displayName");
            }
            if (IsSubMenu)
            {
                throw new ArgumentException("Can't add a sub menu to a sub menu!");
            }
            if (UsedSubMenuNames.Contains(uniqueSubMenuId ?? displayName))
            {
                throw new ArgumentException(string.Format("A sub menu with that name ({0}) already exists!", uniqueSubMenuId ?? displayName));
            }

            UsedSubMenuNames.Add(uniqueSubMenuId ?? displayName);
            var subMenu = new Menu(displayName, AddonId, string.Concat(ValueContainer.SerializationId, ".", uniqueSubMenuId ?? displayName), longTitle, this);

            SubMenus.Add(subMenu);
            return(subMenu);
        }
Beispiel #9
0
        public string GetSubMenus(int menuId)
        {
            string          res      = "";
            List <SubMenus> subMenus = new List <SubMenus>();

            var subMenusList = db.sidebar_menus.Where(m => m.IsDeleted == 0 && m.MenuId == menuId && m.SubMenuName != null).Select(m => new { m.SubMenuName, m.SubMenuURL, m.id }).ToList();

            foreach (var item in subMenusList)
            {
                SubMenus subMenu = new SubMenus();
                subMenu.SubMenuName = item.SubMenuName;
                subMenu.SubMenuURL  = item.SubMenuURL;
                subMenu.EditUrl     = "/Menu/EditSubMenus";
                subMenu.Id          = item.id;

                subMenus.Add(subMenu);
            }
            res = JsonConvert.SerializeObject(subMenus);

            return(res);
        }
Beispiel #10
0
    public static Node SubMenuFactory(SubMenus menu)
    {
        Node ret = null;

        switch (menu)
        {
        case SubMenus.None:
            return(null);

            break;

        case SubMenus.ArenaConfig:
            ret      = new ArenaConfigMenu();
            ret.Name = "ArenaConfig";
            break;

        case SubMenus.AdventureConfig:
            ret      = new AdventureConfigMenu();
            ret.Name = "AdventureConfig";
            break;
        }
        return(ret);
    }
Beispiel #11
0
 public IEnumerator <IMenuBuilder> GetEnumerator()
 {
     return(SubMenus.GetEnumerator());
 }
Beispiel #12
0
 public void Add(IMenuBuilder builder)
 {
     SubMenus.Add(builder);
 }
Beispiel #13
0
        public string GetSideMenubar()
        {
            int roleId = Convert.ToInt32(Session["RoleID"]);

            string res = "";

            List <SideMenubar> sideMenubars = new List <SideMenubar>();

            DataTable dt = new DataTable();

            try
            {
                using (MsqlConnection mc = new MsqlConnection())
                {
                    using (SqlCommand cmd = new SqlCommand("GetSideMenubar", mc.msqlConnection))
                    {
                        using (SqlDataAdapter sda = new SqlDataAdapter(cmd))
                        {
                            mc.open();
                            cmd.CommandType = CommandType.StoredProcedure;
                            cmd.Parameters.AddWithValue("@roleId", roleId);
                            sda.Fill(dt);
                            mc.close();
                        }
                    }
                }
            }
            catch (Exception ex) { }

            for (int i = 0; i < dt.Rows.Count; i++)
            {
                int menuId = Convert.ToInt32(dt.Rows[i]["MenuId"]);

                SideMenubar sideMenubar = new SideMenubar();

                sideMenubar.MenuName = dt.Rows[i]["MenuName"].ToString();
                sideMenubar.RoleId   = roleId;

                var imageurl = db.sidebar_menus.Where(m => m.MenuName == sideMenubar.MenuName).Select(m => m.ImageURL).FirstOrDefault();
                sideMenubar.ImageURL = imageurl;

                var values = db.sidebar_menus.Where(m => m.SubMenuName != null && m.MenuId == menuId && m.IsDeleted == 0).OrderBy(m => m.id).Select(m => new { m.SubMenuName, m.SubMenuURL }).ToList();

                if (values.Count == 0)
                {
                    //sideMenubar.MenuURL = dt.Rows[i]["MenuURL"].ToString();
                    var menuurl = db.sidebar_menus.Where(m => m.MenuName == sideMenubar.MenuName).Select(m => m.MenuURL).FirstOrDefault();
                    sideMenubar.MenuURL = menuurl;
                }
                List <SubMenus> subMenusList = new List <SubMenus>();
                foreach (var item in values)
                {
                    SubMenus subMenus = new SubMenus();

                    subMenus.SubMenuName = item.SubMenuName;
                    subMenus.SubMenuURL  = item.SubMenuURL;

                    subMenusList.Add(subMenus);
                }

                sideMenubar.SubMenus = subMenusList;
                sideMenubars.Add(sideMenubar);
            }
            res = JsonConvert.SerializeObject(sideMenubars);

            return(res);
        }
Beispiel #14
0
 public void Clear()
 {
     SubMenus.Clear();
 }
Beispiel #15
0
 public void Add(Menu menu)
 {
     menu.Parent = this;
     SubMenus.Add(menu);
 }