Esempio n. 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);
        }
Esempio n. 2
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;
            }
        }
Esempio n. 3
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);
        }