示例#1
0
        public Other()
            : base()
        {
            ModeMenu = PluginMenu.AddSubMenu("Modes", "Modes");
            ModeMenu.AddGroupLabel("Combo");
            ModeMenu.Add("Qcombo", new CheckBox("Use Q"));
            ModeMenu.Add("Wcombo", new CheckBox("Use W"));
            ModeMenu.Add("Ecombo", new CheckBox("Use E"));
            ModeMenu.Add("Rcombo", new CheckBox("Use R"));

            MiscMenu = PluginMenu.AddSubMenu("Misc", "Misc");
            MiscMenu.AddGroupLabel("Key Binds");
            MiscMenu.Add("Special", new KeyBind("Special", false, KeyBind.BindTypes.HoldActive, 'A'));
            MiscMenu.Add("Insec", new KeyBind("Insec", false, KeyBind.BindTypes.HoldActive, 'G'));
            MiscMenu.Add("FlashInsec", new CheckBox("->Use Flash Insec"));

            MiscMenu.AddGroupLabel("Settings");
            MiscMenu.Add("Gapcloser", new CheckBox("Gapcloser"));
            MiscMenu.Add("Interrupt", new CheckBox("Interrupt"));

            MiscMenu.AddGroupLabel("Kill Steal");
            MiscMenu.Add("Eks", new CheckBox("E Killsteal"));

            DrawMenu = PluginMenu.AddSubMenu("Drawing", "Drawing");
            DrawMenu.AddGroupLabel("Ability Ranges");
            DrawMenu.Add("Q", new CheckBox("Draw Q"));
            DrawMenu.Add("W", new CheckBox("Draw W"));
            DrawMenu.Add("E", new CheckBox("Draw E"));
            DrawMenu.Add("R", new CheckBox("Draw R"));

            Gapcloser.OnGapcloser            += OnGapCloser;
            Interrupter.OnInterruptableSpell += OnInterruptableSpell;
        }
示例#2
0
        public GuiHost()
        {
            InitializeViewModel();
            plugLoader    = new PluginLoader();
            plugInstaller = new PluginInstaller(pluginPath);
            plugInstaller.ProgressUpdated   += ProgressUpdated_Handler;
            plugInstaller.ExtractedInfoFile += ExtractedInfoFile_Handler;
            plugins               = plugLoader.LoadPlugins(pluginPath).ToList <IPlugin>();
            _pluginMenu           = new ObservableCollection <Model.PluginData>();
            SelectPlugin          = new CustomCommand <int>(SelectPluginHandler);
            SelectCategoryCommand = new CustomCommand <string>(SelectCategoryHandler);
            InstallPluginCommand  = new CustomCommand(InstallPluginHandler);
            int id = 0;

            undoRedoController = new Logic.UndoRedoController();

            foreach (IPlugin plug in plugins)
            {
                undoRedoController.AddPlug  = new List <FrameworkElement>();
                plug.ControlChangedTrigger += Controll_GotFocus;
                PluginMenu.Add(new Model.PluginData(plug.Title, id));
                fillCategorieAndPluginList(plug.Category, plug.Title);
                id++;
            }

            if (plugins.Count != 0)
            {
                currentView       = plugins[0].MainView;
                configurationView = plugins[0].ConfigurationView;
                Title             = plugins[0].Title;
                undoRedoController.SelectPlugin(0);
            }
            Categories.Add("Alle Plugins");
            categoryList.Add("Alle Plugins", AllPluginTitles);
        }
示例#3
0
        public void CastleConfigurationTest()
        {
            var pluginMock = new Mock <IBishop>();

            pluginMock.Setup(fp => fp.TurnOffServerRedirection());
            pluginMock.Setup(fp => fp.IsDiagnosticsCastleConfigured()).Returns(false);
            pluginMock.SetupGet(fp => fp.AvailableServers).Returns(new[] { "SRV1", "SRV2" });

            var menu = new PluginMenu(pluginMock.Object);

            Assert.True(menu.BishopMenu.MenuItems.ContainsKey("miConfigureCastle"));
            Assert.True(menu.BishopMenu.MenuItems.ContainsKey("miNoServer"));
            Assert.True(menu.BishopMenu.MenuItems["miNoServer"].Checked);
            Assert.False(menu.BishopMenu.MenuItems.ContainsKey("miServerSRV1"));
            Assert.False(menu.BishopMenu.MenuItems.ContainsKey("miServerSRV2"));

            pluginMock.Setup(fp => fp.IsDiagnosticsCastleConfigured()).Returns(true);
            menu.PrepareServerMenu();
            Assert.False(menu.BishopMenu.MenuItems.ContainsKey("miConfigureCastle"));
            Assert.True(menu.BishopMenu.MenuItems.ContainsKey("miNoServer"));
            Assert.True(menu.BishopMenu.MenuItems.ContainsKey("miServerSRV1"));
            Assert.True(menu.BishopMenu.MenuItems.ContainsKey("miServerSRV2"));

            menu.BishopMenu.MenuItems["miNoServer"].Checked   = false;
            menu.BishopMenu.MenuItems["miServerSRV1"].Checked = true;

            pluginMock.Setup(fp => fp.IsDiagnosticsCastleConfigured()).Returns(false);
            menu.PrepareServerMenu();
            Assert.True(menu.BishopMenu.MenuItems.ContainsKey("miConfigureCastle"));
            Assert.True(menu.BishopMenu.MenuItems.ContainsKey("miNoServer"));
            Assert.True(menu.BishopMenu.MenuItems["miNoServer"].Checked);
            Assert.False(menu.BishopMenu.MenuItems.ContainsKey("miServerSRV1"));
            Assert.False(menu.BishopMenu.MenuItems.ContainsKey("miServerSRV2"));
        }
示例#4
0
        private MenuItem CreateMenu()
        {
            PluginMenu pm = new PluginMenu("Stats Converter", IcoMoon.PieChart,
                                           new RelayCommand(() => ShowMainView()));

            return(pm.Menu);
        }
示例#5
0
        public void ServersChangedTest()
        {
            var pluginMock = new Mock <IBishop>();

            pluginMock.Setup(fp => fp.TurnOffServerRedirection());
            pluginMock.Setup(fp => fp.IsDiagnosticsCastleConfigured()).Returns(true);
            pluginMock.SetupGet(fp => fp.AvailableServers).Returns(new[] { "SRV1", "SRV2", "SRV3" });

            var menu = new PluginMenu(pluginMock.Object);

            Assert.True(menu.BishopMenu.MenuItems.ContainsKey("miServerSRV1"));
            Assert.Equal(1, menu.BishopMenu.MenuItems["miServerSRV1"].Index);
            Assert.True(menu.BishopMenu.MenuItems.ContainsKey("miServerSRV2"));
            Assert.Equal(2, menu.BishopMenu.MenuItems["miServerSRV2"].Index);
            Assert.True(menu.BishopMenu.MenuItems.ContainsKey("miServerSRV3"));
            Assert.Equal(3, menu.BishopMenu.MenuItems["miServerSRV3"].Index);

            pluginMock.SetupGet(fp => fp.AvailableServers).Returns(new[] { "SRV1", "SRV3" });
            menu.PrepareServerMenu();
            Assert.True(menu.BishopMenu.MenuItems.ContainsKey("miServerSRV1"));
            Assert.Equal(1, menu.BishopMenu.MenuItems["miServerSRV1"].Index);
            Assert.False(menu.BishopMenu.MenuItems.ContainsKey("miServerSRV2"));
            Assert.True(menu.BishopMenu.MenuItems.ContainsKey("miServerSRV3"));
            Assert.Equal(2, menu.BishopMenu.MenuItems["miServerSRV3"].Index);

            pluginMock.SetupGet(fp => fp.AvailableServers).Returns(new[] { "SRV3" });
            menu.PrepareServerMenu();
            Assert.False(menu.BishopMenu.MenuItems.ContainsKey("miServerSRV1"));
            Assert.False(menu.BishopMenu.MenuItems.ContainsKey("miServerSRV2"));
            Assert.True(menu.BishopMenu.MenuItems.ContainsKey("miServerSRV3"));
            Assert.Equal(1, menu.BishopMenu.MenuItems["miServerSRV3"].Index);
        }
示例#6
0
        public MenuItemFeature(ResourceManager resourceManager, XmlNode node, PluginDescriptor plugin, ParentMenuItemFeature parentFeature)
            : base(resourceManager, node, plugin)
        {
            _parentFeature = parentFeature;
            _menu = Helpers.GetEnumXmlAttribute<PluginMenu>(node, ATT_MENU, PluginMenu.none);
            _contextMenu = Helpers.GetEnumXmlAttribute<PluginContextMenu>(node, ATT_CONTEXT_MENU, GetContextMenuFromMenu(_menu));
            _serialization = Helpers.GetEnumXmlAttribute<PluginSerializationLevel>(node, ATT_SERIALIZED, PluginSerializationLevel.none);

            foreach (XmlNode child in node.ChildNodes)
            {   
                switch (child.Name)
                {
                    case TYPE_SHELL:
                        _shellCmd = new ShellCmd(child, paramsFromXML(child));
                        break;
                    case TYPE_POWERSHELL:
                        _shellCmd = new PowerShellCmd(child, paramsFromXML(child));
                        break;
                    case TYPE_XENSERVER_POWERSHELL:
                        _shellCmd = new XenServerPowershellCmd(child, paramsFromXML(child));
                        break;
                }
                return;
            }
        }
示例#7
0
        public MenuItemFeature(ResourceManager resourceManager, XmlNode node, PluginDescriptor plugin, ParentMenuItemFeature parentFeature)
            : base(resourceManager, node, plugin)
        {
            _parentFeature = parentFeature;
            _menu          = Helpers.GetEnumXmlAttribute <PluginMenu>(node, ATT_MENU, PluginMenu.none);
            _contextMenu   = Helpers.GetEnumXmlAttribute <PluginContextMenu>(node, ATT_CONTEXT_MENU, GetContextMenuFromMenu(_menu));
            _serialization = Helpers.GetEnumXmlAttribute <PluginSerializationLevel>(node, ATT_SERIALIZED, PluginSerializationLevel.none);

            foreach (XmlNode child in node.ChildNodes)
            {
                switch (child.Name)
                {
                case TYPE_SHELL:
                    _shellCmd = new ShellCmd(child, paramsFromXML(child));
                    break;

                case TYPE_POWERSHELL:
                    _shellCmd = new PowerShellCmd(child, paramsFromXML(child));
                    break;

                case TYPE_XENSERVER_POWERSHELL:
                    _shellCmd = new XenServerPowershellCmd(child, paramsFromXML(child));
                    break;
                }
                return;
            }
        }
示例#8
0
        public Jayce()
            : base()
        {
            Qcharge = new Spell.Skillshot(SpellSlot.Q, 1650, SkillShotType.Linear, 25, 1600, 70);
            Q       = new Spell.Targeted(SpellSlot.Q, 600);
            W       = new Spell.Active(SpellSlot.W, 285);
            E       = new Spell.Targeted(SpellSlot.E, 240);
            Q2      = new Spell.Skillshot(SpellSlot.Q, 1030, SkillShotType.Linear, 25, 1200, 70)
            {
                MinimumHitChance = HitChance.High,
            };
            W2 = new Spell.Active(SpellSlot.W);
            E2 = new Spell.Skillshot(SpellSlot.E, 650, SkillShotType.Circular, 1, int.MaxValue, 120);
            R  = new Spell.Active(SpellSlot.R);

            ModeMenu = PluginMenu.AddSubMenu("Modes", "Modes");
            ModeMenu.AddGroupLabel("Combo");
            ModeMenu.Add("Qcombo", new CheckBox("Kullan Q Çekic"));
            ModeMenu.Add("Q2combo", new CheckBox("Kullan Q Top"));
            ModeMenu.Add("Wcombo", new CheckBox("Kullan W Çekic"));
            ModeMenu.Add("W2combo", new CheckBox("Kullan W Top"));
            ModeMenu.Add("Ecombo", new CheckBox("Kullan E Çekic"));
            ModeMenu.Add("QEcombo", new CheckBox("Kullan QE Top"));
            ModeMenu.Add("Rcombo", new CheckBox("Formu Değiştir(R)"));

            ModeMenu.AddGroupLabel("Harass");
            ModeMenu.Add("Q2harass", new CheckBox("Kullan Q Top"));
            ModeMenu.Add("W2harass", new CheckBox("Kullan W Top"));
            ModeMenu.Add("QEharass", new CheckBox("Kullan QE Top"));

            MiscMenu = PluginMenu.AddSubMenu("Misc", "Misc");
            MiscMenu.AddGroupLabel("Key Binds");
            MiscMenu.Add("Quickscope", new KeyBind("Quickscope", false, KeyBind.BindTypes.HoldActive, 'A'));
            MiscMenu.Add("Insec", new KeyBind("Insec", false, KeyBind.BindTypes.HoldActive, 'G'));
            MiscMenu.Add("FlashInsec", new CheckBox("->Flash insec"));

            MiscMenu.AddGroupLabel("Ayarlar");
            MiscMenu.Add("Gapcloser", new CheckBox("Kullan E  Gapcloser"));
            MiscMenu.Add("Interrupt", new CheckBox("Kullan E  Interrupt"));
            MiscMenu.Add("GateMode", new ComboBox("QE Mode", 0, "Vertical Fast", "Horizontal Fast", "Horizontal Slow"));
            MiscMenu.Add("GateDistance", new Slider("E mesafesi", 60, 60, 100));

            MiscMenu.AddGroupLabel("Kill Steal");
            MiscMenu.Add("QEks", new CheckBox("QE Killçalma"));

            DrawMenu = PluginMenu.AddSubMenu("Drawing", "Drawing");
            DrawMenu.AddGroupLabel("Büyü Menzilleri");
            DrawMenu.Add("Q", new CheckBox("Göster Q Çekic"));
            DrawMenu.Add("Q2", new CheckBox("Göster Q Top"));
            DrawMenu.Add("Qcharge", new CheckBox("Göster QE Top"));

            DrawMenu.AddGroupLabel("Diğer");
            DrawMenu.Add("Drawcds", new CheckBox("Göster Bekleme Süreleri"));


            Gapcloser.OnGapcloser            += OnGapCloser;
            Interrupter.OnInterruptableSpell += OnInterruptableSpell;
        }
示例#9
0
        private void loadMenu_Click(object sender, EventArgs e)
        {
            Creator    creator = new WinMenuCreator();
            PluginMenu menu    = creator.Create();

            foreach (var item in ((WinMenu)menu).Items)
            {
                menuStrip.Items.Insert(0, item);
            }
        }
示例#10
0
 static Nasus()
 {
     CreateMenu();
     ModeMenu = PluginMenu.AddSubMenu("Modes", "Modes");
     ModeMenu.AddGroupLabel("Combo");
     ModeMenu.Add("nasus.combo.q", new CheckBox("Use Q"));
     ModeMenu.Add("nasus.combo.w", new CheckBox("Use W"));
     ModeMenu.Add("nasus.combo.e", new CheckBox("Use E"));
     ModeMenu.Add("nasus.combo.r", new CheckBox("Use R"));
 }
示例#11
0
        private void LoadMenu()
        {
            RootMenu = Menu.AddMenu(Name);

            PluginMenu = RootMenu.AddSubMenu("Plugins");

            foreach (var plugin in PluginList)
            {
                PluginMenu.Add(new MenuCheckbox(plugin.Name, plugin.Name)).OnValueChanged += OnPluginStateChanged;
            }
        }
示例#12
0
        private MenuItem CreateMenu()
        {
            var pm = new PluginMenu("End Game", IcoMoon.Target);

            pm.Append("Import Meta Decks", IcoMoon.Download2,
                      new RelayCommand(async() => await ImportMetaDecks(true)));
            pm.Append("Stats", IcoMoon.StatsDots,
                      new RelayCommand(async() => await ShowStats()));
            pm.Append("Settings", IcoMoon.Cog,
                      new RelayCommand(async() => await ShowSettings()));
            return(pm.Menu);
        }
示例#13
0
        public Viktor()
            : base()
        {
            Q = new Spell.Targeted(SpellSlot.Q, 600);

            W = new Spell.Skillshot(SpellSlot.W, 700, SkillShotType.Circular, 500, int.MaxValue, 300)
            {
                MinimumHitChance      = HitChance.High,
                AllowedCollisionCount = int.MaxValue
            };
            E = new Spell.Skillshot(SpellSlot.E, 525, SkillShotType.Linear, 250, int.MaxValue, 100)
            {
                MinimumHitChance      = HitChance.High,
                AllowedCollisionCount = int.MaxValue
            };
            R = new Spell.Skillshot(SpellSlot.R, 700, SkillShotType.Circular, 250, int.MaxValue, 450)
            {
                MinimumHitChance      = HitChance.High,
                AllowedCollisionCount = int.MaxValue
            };

            ModeMenu = PluginMenu.AddSubMenu("Modes", "Modes");
            ModeMenu.AddGroupLabel("Combo");
            ModeMenu.Add("Qcombo", new CheckBox("Use Q"));
            ModeMenu.Add("Wcombo", new CheckBox("Use W", false));
            ModeMenu.Add("Ecombo", new CheckBox("Use E"));
            ModeMenu.Add("Rcombo", new CheckBox("Use R"));
            ModeMenu.Add("Ignite", new CheckBox("Use Ignite"));

            ModeMenu.AddGroupLabel("Harass");
            ModeMenu.Add("Qharass", new CheckBox("Use Q"));
            ModeMenu.Add("Eharass", new CheckBox("Use E"));

            MiscMenu = PluginMenu.AddSubMenu("Misc", "Misc");
            MiscMenu.AddGroupLabel("KillSteal");
            MiscMenu.Add("KillSteal", new CheckBox("Enable KillSteal"));
            MiscMenu.AddGroupLabel("Settings");
            MiscMenu.Add("Rtick", new Slider("R tick count for dmg calc", 4, 1, 14));
            MiscMenu.Add("Wteam", new CheckBox("Use W in team fight"));
            MiscMenu.Add("Wcount", new Slider("->If will hit", 2, 2, 5));
            MiscMenu.Add("Rteam", new CheckBox("Use Ult in team fight"));
            MiscMenu.Add("Rcount", new Slider("->If will hit", 3, 2, 5));

            DrawMenu = PluginMenu.AddSubMenu("Drawing", "Drawing");
            DrawMenu.AddGroupLabel("Ability Ranges");
            DrawMenu.Add("Q", new CheckBox("Draw Q"));
            DrawMenu.Add("W", new CheckBox("Draw W", false));
            DrawMenu.Add("E", new CheckBox("Draw E"));
            DrawMenu.Add("R", new CheckBox("Draw R"));
        }
        public void OnLoad()
        {
            try {
                ReloadSettings(PluginSettings.Load(configurationFilePath));

                pluginMenu = new PluginMenu(this);
                FiddlerApplication.UI.Menu.MenuItems.Add(pluginMenu.BishopMenu);
                isLoaded = true;
            } catch (Exception ex) {
                MessageBox.Show("There was a problem while loading the Bishop plugin. Please check the Fiddler log for details",
                                "Bishop is dead.", MessageBoxButtons.OK, MessageBoxIcon.Error);
                LogFormat("Bishop error: {0}", ex);
            }
        }
示例#15
0
        public ParentMenuItemFeature(ResourceManager resourceManager, XmlNode node, PluginDescriptor plugin)
            : base(resourceManager, node, plugin)
        {
            _menu = Helpers.GetEnumXmlAttribute<PluginMenu>(node, MenuItemFeature.ATT_MENU, PluginMenu.none);
            _contextMenu = Helpers.GetEnumXmlAttribute<PluginContextMenu>(node, MenuItemFeature.ATT_CONTEXT_MENU, MenuItemFeature.GetContextMenuFromMenu(_menu));

            foreach (XmlNode child in node.ChildNodes)
            {
                if (child.NodeType == XmlNodeType.Element)
                {
                    if (child.Name == MenuItemFeature.ELEMENT_NAME)
                        _features.Add(new MenuItemFeature(resourceManager, child, PluginDescriptor, this));
                }
            }
        }
示例#16
0
        private MenuItem CreateMenu()
        {
            var pm = new PluginMenu("End Game", IcoMoon.Target);

            pm.Append("Import Meta Decks", IcoMoon.Download2,
                      new RelayCommand(async() => await ImportMetaDecks(true)));
            pm.Append("Stats", IcoMoon.StatsDots,
                      new RelayCommand(async() => await ShowStats()));
            pm.Append("Settings", IcoMoon.Cog,
                      new RelayCommand(async() => await ShowSettings()));
            if (Settings.Get(Strings.DeveloperMode).Bool)
            {
                pm.Append("Note", IcoMoon.FileText2,
                          new RelayCommand(async() => await ShowNote()));
            }
            return(pm.Menu);
        }
示例#17
0
        public ParentMenuItemFeature(ResourceManager resourceManager, XmlNode node, PluginDescriptor plugin)
            : base(resourceManager, node, plugin)
        {
            _menu        = Helpers.GetEnumXmlAttribute <PluginMenu>(node, MenuItemFeature.ATT_MENU, PluginMenu.none);
            _contextMenu = Helpers.GetEnumXmlAttribute <PluginContextMenu>(node, MenuItemFeature.ATT_CONTEXT_MENU, MenuItemFeature.GetContextMenuFromMenu(_menu));

            foreach (XmlNode child in node.ChildNodes)
            {
                if (child.NodeType == XmlNodeType.Element)
                {
                    if (child.Name == MenuItemFeature.ELEMENT_NAME)
                    {
                        _features.Add(new MenuItemFeature(resourceManager, child, PluginDescriptor, this));
                    }
                }
            }
        }
示例#18
0
        static LeeSin()
        {
            Q = new Spell.Skillshot(SpellSlot.Q, 1100, SkillShotType.Linear, 250, 1800, 75)
            {
                AllowedCollisionCount = 0
            };
            Q2 = new Spell.Active(SpellSlot.Q, 1300);
            W  = new Spell.Targeted(SpellSlot.W, 700);
            E  = new Spell.Active(SpellSlot.E, 350);
            R  = new Spell.Targeted(SpellSlot.R, 375);

            CreateMenu();
            ModeMenu = PluginMenu.AddSubMenu("Modes", "Modes");
            ModeMenu.AddGroupLabel("Combo");
            ModeMenu.Add("nasus.combo.q", new CheckBox("Use Q"));
            ModeMenu.Add("nasus.combo.w", new CheckBox("Use W"));
            ModeMenu.Add("nasus.combo.e", new CheckBox("Use E"));
            ModeMenu.Add("nasus.combo.r", new CheckBox("Use R"));
        }
示例#19
0
        public Anivia()
            : base()
        {
            Q = new Spell.Skillshot(SpellSlot.Q, 1075, EloBuddy.SDK.Enumerations.SkillShotType.Linear, 0, 850, 110)
            {
                MinimumHitChance      = HitChance.High,
                AllowedCollisionCount = int.MaxValue
            };

            W = new Spell.Skillshot(SpellSlot.W, 1000, EloBuddy.SDK.Enumerations.SkillShotType.Circular, 0, int.MaxValue, 1);
            E = new Spell.Targeted(SpellSlot.E, 650);
            R = new Spell.Skillshot(SpellSlot.R, 625, EloBuddy.SDK.Enumerations.SkillShotType.Circular, 0, int.MaxValue, 400)
            {
                AllowedCollisionCount = int.MaxValue
            };

            ModeMenu = PluginMenu.AddSubMenu("Modes", "Modes");
            MiscMenu = PluginMenu.AddSubMenu("Misc", "Misc");
            MiscMenu.AddGroupLabel("Key Binds");
            MiscMenu.Add("Special", new KeyBind("Special", false, KeyBind.BindTypes.HoldActive, 'A'));

            MiscMenu.AddGroupLabel("Settings");
            MiscMenu.Add("Gapcloser", new CheckBox("Gapcloser"));
            MiscMenu.Add("Interrupt", new CheckBox("Interrupt"));

            MiscMenu.AddGroupLabel("Kill Steal");
            MiscMenu.Add("Eks", new CheckBox("E Killsteal"));

            DrawMenu = PluginMenu.AddSubMenu("Drawing", "Drawing");
            DrawMenu.AddGroupLabel("Ability Ranges");
            DrawMenu.Add("Q", new CheckBox("Draw Q"));
            DrawMenu.Add("W", new CheckBox("Draw W"));
            DrawMenu.Add("E", new CheckBox("Draw E"));
            DrawMenu.Add("R", new CheckBox("Draw R"));

            GameObject.OnCreate              += OnCreate;
            Gapcloser.OnGapcloser            += OnGapCloser;
            Interrupter.OnInterruptableSpell += OnInterruptableSpell;
        }
示例#20
0
        private static Tab GetPluginTab(PluginMenu menu)
        {
            var tab = new Tab
            {
                Id       = menu.Id,
                Text     = menu.Text,
                IconUrl  = menu.IconUrl,
                Selected = menu.Selected,
                Href     = menu.Href,
                Target   = menu.Target,
                //Permissions = TranslateUtils.ObjectCollectionToString(menu.Permissions)
            };

            if (menu.Menus != null && menu.Menus.Count > 0)
            {
                tab.Children = new Tab[menu.Menus.Count];
                for (var i = 0; i < menu.Menus.Count; i++)
                {
                    tab.Children[i] = GetPluginTab(menu.Menus[i]);
                }
            }
            return(tab);
        }
示例#21
0
        public static PluginContextMenu GetContextMenuFromMenu(PluginMenu menu)
        {
            switch (menu)
            {
            case PluginMenu.pool:
                return(PluginContextMenu.pool);

            case PluginMenu.server:
                return(PluginContextMenu.server);

            case PluginMenu.storage:
                return(PluginContextMenu.storage);

            case PluginMenu.templates:
                return(PluginContextMenu.template);

            case PluginMenu.vm:
                return(PluginContextMenu.vm);

            default:
                return(PluginContextMenu.none);
            }
        }
示例#22
0
 public static PluginContextMenu GetContextMenuFromMenu(PluginMenu menu)
 {
     if (menu == PluginMenu.pool)
     {
         return(PluginContextMenu.pool);
     }
     else if (menu == PluginMenu.server)
     {
         return(PluginContextMenu.server);
     }
     else if (menu == PluginMenu.storage)
     {
         return(PluginContextMenu.storage);
     }
     else if (menu == PluginMenu.templates)
     {
         return(PluginContextMenu.template);
     }
     else if (menu == PluginMenu.vm)
     {
         return(PluginContextMenu.vm);
     }
     return(PluginContextMenu.none);
 }
示例#23
0
        static Jayce()
        {
            QE = new Spell.Skillshot(SpellSlot.Q, 1650, SkillShotType.Linear, 25, 1900, 70);
            Q  = new Spell.Targeted(SpellSlot.Q, 600);
            W  = new Spell.Active(SpellSlot.W, 285);
            E  = new Spell.Targeted(SpellSlot.E, 240);
            Q2 = new Spell.Skillshot(SpellSlot.Q, 1030, SkillShotType.Linear, 25, 1450, 70)
            {
                MinimumHitChance = HitChance.High
            };
            W2 = new Spell.Active(SpellSlot.W);
            E2 = new Spell.Skillshot(SpellSlot.E, 650, SkillShotType.Circular, 1, int.MaxValue, 120);
            R  = new Spell.Active(SpellSlot.R);

            CreateMenu();
            ModeMenu = PluginMenu.AddSubMenu("Modes", "Modes");
            ModeMenu.AddGroupLabel("Combo");
            ModeMenu.Add("jayce.combo.q", new CheckBox("Use Q Hammer"));
            ModeMenu.Add("jayce.combo.q2", new CheckBox("Use Q Cannon"));
            ModeMenu.Add("jayce.combo.w", new CheckBox("Use W Hammer"));
            ModeMenu.Add("jayce.combo.w2", new CheckBox("Use W Cannon"));
            ModeMenu.Add("jayce.combo.e", new CheckBox("Use E Hammer"));
            ModeMenu.Add("jayce.combo.qe", new CheckBox("Use QE Cannon"));
            ModeMenu.Add("jayce.combo.r", new CheckBox("Switch Form"));

            ModeMenu.AddGroupLabel("Harass");
            ModeMenu.Add("jayce.harass.q2", new CheckBox("Use Q Cannon"));
            ModeMenu.Add("jayce.harass.w2", new CheckBox("Use W Cannon"));
            ModeMenu.Add("jayce.harass.qe", new CheckBox("Use QE Cannon"));

            ModeMenu.AddGroupLabel("Flee");
            ModeMenu.Add("jayce.flee.q", new CheckBox("Use Q Hammer"));
            ModeMenu.Add("jayce.flee.e", new CheckBox("Use E Hammer"));
            ModeMenu.Add("jayce.flee.e2", new CheckBox("Use E Cannon"));

            MiscMenu = PluginMenu.AddSubMenu("Misc", "Misc");
            MiscMenu.AddGroupLabel("Key Binds");
            MiscMenu.Add("jayce.quickscope", new KeyBind("Quickscope", false, KeyBind.BindTypes.HoldActive, 'A'));
            MiscMenu.Add("jayce.insec", new KeyBind("Insec", false, KeyBind.BindTypes.HoldActive, 'G'));
            MiscMenu.Add("jayce.flashinsec", new CheckBox("->Use Flash Insec"));

            MiscMenu.AddGroupLabel("Settings");
            MiscMenu.Add("jayce.gapcloser", new CheckBox("Use E on Gapcloser"));
            MiscMenu.Add("jayce.interrupt", new CheckBox("Use E to Interrupt"));
            MiscMenu.Add("jayce.parallel", new CheckBox("Place gate parallel", false));
            MiscMenu.Add("jayce.gatedistance", new Slider("Gate Distance", 60, 60, 400));

            MiscMenu.AddGroupLabel("Kill Steal");
            MiscMenu.Add("jayce.killsteal.qe", new CheckBox("Use QE Cannon"));
            MiscMenu.Add("jayce.killsteal.q2", new CheckBox("Use Q Cannon"));
            MiscMenu.Add("jayce.killsteal.e", new CheckBox("Use E Hammer"));

            DrawMenu = PluginMenu.AddSubMenu("Drawing", "Drawing");
            DrawMenu.AddGroupLabel("Spell Ranges");
            DrawMenu.Add("jayce.draw.q", new CheckBox("Draw Q Hammer"));
            DrawMenu.Add("jayce.draw.q2", new CheckBox("Draw Q Cannon"));
            DrawMenu.Add("jayce.draw.qe", new CheckBox("Draw QE Cannon"));

            DrawMenu.AddGroupLabel("Other");
            DrawMenu.Add("jayce.draw.cds", new CheckBox("Draw Cooldowns"));

            Gapcloser.OnGapcloser            += OnGapCloser;
            Interrupter.OnInterruptableSpell += OnInterruptableSpell;
        }
示例#24
0
 public static PluginContextMenu GetContextMenuFromMenu(PluginMenu menu)
 {
     if (menu == PluginMenu.pool)
     {
         return PluginContextMenu.pool;
     }
     else if (menu == PluginMenu.server)
     {
         return PluginContextMenu.server;
     }
     else if (menu == PluginMenu.storage)
     {
         return PluginContextMenu.storage;
     }
     else if (menu == PluginMenu.templates)
     {
         return PluginContextMenu.template;
     }
     else if (menu == PluginMenu.vm)
     {
         return PluginContextMenu.vm;
     }
     return PluginContextMenu.none;
 }
示例#25
0
文件: Jayce.cs 项目: tekintr/Elobuddy
        static Jayce()
        {
            QE = new Spell.Skillshot(SpellSlot.Q, 1650, SkillShotType.Linear, 25, 1900, 70);
            Q  = new Spell.Targeted(SpellSlot.Q, 600);
            W  = new Spell.Active(SpellSlot.W, 285);
            E  = new Spell.Targeted(SpellSlot.E, 240);
            Q2 = new Spell.Skillshot(SpellSlot.Q, 1030, SkillShotType.Linear, 25, 1450, 70)
            {
                MinimumHitChance = HitChance.High
            };
            W2 = new Spell.Active(SpellSlot.W);
            E2 = new Spell.Skillshot(SpellSlot.E, 650, SkillShotType.Circular, 1, int.MaxValue, 120);
            R  = new Spell.Active(SpellSlot.R);

            CreateMenu();
            ModeMenu = PluginMenu.AddSubMenu("Modes", "Modes");
            ModeMenu.AddGroupLabel("Combo");
            ModeMenu.Add("jayce.combo.q", new CheckBox("Kullan Q Cekic"));
            ModeMenu.Add("jayce.combo.q2", new CheckBox("Kullan Q Top"));
            ModeMenu.Add("jayce.combo.w", new CheckBox("Kullan W Cekic"));
            ModeMenu.Add("jayce.combo.w2", new CheckBox("Kullan W Top"));
            ModeMenu.Add("jayce.combo.e", new CheckBox("Kullan E Cekic"));
            ModeMenu.Add("jayce.combo.qe", new CheckBox("Kullan QE Top"));
            ModeMenu.Add("jayce.combo.r", new CheckBox("Gecis formu"));

            ModeMenu.AddGroupLabel("Harass");
            ModeMenu.Add("jayce.harass.q2", new CheckBox("Kullan Q Top"));
            ModeMenu.Add("jayce.harass.w2", new CheckBox("Kullan W Top"));
            ModeMenu.Add("jayce.harass.qe", new CheckBox("Kullan QE Top"));

            ModeMenu.AddGroupLabel("Flee");
            ModeMenu.Add("jayce.flee.q", new CheckBox("Kullan Q Cekic"));
            ModeMenu.Add("jayce.flee.e", new CheckBox("Kullan E Cekic"));
            ModeMenu.Add("jayce.flee.e2", new CheckBox("Kullan E Top"));

            MiscMenu = PluginMenu.AddSubMenu("Misc", "Misc");
            MiscMenu.AddGroupLabel("Key Binds");
            MiscMenu.Add("jayce.quickscope", new KeyBind("Quickscope", false, KeyBind.BindTypes.HoldActive, 'A'));
            MiscMenu.Add("jayce.insec", new KeyBind("Insec", false, KeyBind.BindTypes.HoldActive, 'G'));
            MiscMenu.Add("jayce.flashinsec", new CheckBox("->Kullan Sicra Insec"));

            MiscMenu.AddGroupLabel("Settings");
            MiscMenu.Add("jayce.gapcloser", new CheckBox("Kullan E Atilma yapana"));
            MiscMenu.Add("jayce.interrupt", new CheckBox("Kullan E kesici"));
            MiscMenu.Add("jayce.parallel", new CheckBox("Kapiyi paralel yerlestr", false));
            MiscMenu.Add("jayce.gatedistance", new Slider("Kapi uzakligi", 60, 60, 400));

            MiscMenu.AddGroupLabel("Kill Steal");
            MiscMenu.Add("jayce.killsteal.qe", new CheckBox("Kullan QE Top"));
            MiscMenu.Add("jayce.killsteal.q2", new CheckBox("Kullan Q Top"));
            MiscMenu.Add("jayce.killsteal.e", new CheckBox("Kullan E Cekic"));

            DrawMenu = PluginMenu.AddSubMenu("Drawing", "Drawing");
            DrawMenu.AddGroupLabel("Spell Ranges");
            DrawMenu.Add("jayce.draw.q", new CheckBox("Goster Q Cekic"));
            DrawMenu.Add("jayce.draw.q2", new CheckBox("Goster Q Top"));
            DrawMenu.Add("jayce.draw.qe", new CheckBox("Goster QE Top"));

            DrawMenu.AddGroupLabel("Other");
            DrawMenu.Add("jayce.draw.cds", new CheckBox("Goster Bekleme suresi"));

            Gapcloser.OnGapcloser            += OnGapCloser;
            Interrupter.OnInterruptableSpell += OnInterruptableSpell;
        }
示例#26
0
        private static PluginMenu GetMenu(string pluginId, PluginMenu metadataMenu, string apiUrl, int siteId, int i)
        {
            var menu = new PluginMenu
            {
                Id       = metadataMenu.Id,
                TopId    = metadataMenu.TopId,
                ParentId = metadataMenu.ParentId,
                Text     = metadataMenu.Text,
                Href     = metadataMenu.Href,
                Selected = metadataMenu.Selected,
                Target   = metadataMenu.Target,
                IconUrl  = metadataMenu.IconUrl
            };

            if (string.IsNullOrEmpty(menu.Id))
            {
                menu.Id = pluginId + i;
            }
            if (!string.IsNullOrEmpty(menu.Href))
            {
                if (!PageUtils.IsProtocolUrl(menu.Href) && !StringUtils.StartsWith(menu.Href, "/"))
                {
                    menu.Href = PageUtils.GetPluginUrl(pluginId, menu.Href);
                }
                menu.Href = PageUtils.AddQueryString(menu.Href, new NameValueCollection
                {
                    { "apiUrl", Plugins.GetUrl(apiUrl, pluginId, siteId) },
                    { "siteId", siteId.ToString() }
                });
            }
            if (!string.IsNullOrEmpty(menu.IconUrl))
            {
                menu.IconUrl = PageUtils.GetPluginUrl(pluginId, menu.IconUrl);
            }
            if (string.IsNullOrEmpty(menu.Target))
            {
                menu.Target = "right";
            }
            if (metadataMenu.Permissions != null && metadataMenu.Permissions.Count > 0)
            {
                menu.Permissions = new List <string>();
                foreach (var metadataMenuPermission in metadataMenu.Permissions)
                {
                    menu.Permissions.Add(pluginId + "_" + metadataMenuPermission);
                }
            }

            if (metadataMenu.Menus != null && metadataMenu.Menus.Count > 0)
            {
                var chlildren = new List <PluginMenu>();
                var x         = 1;
                foreach (var childMetadataMenu in metadataMenu.Menus)
                {
                    var child = GetMenu(pluginId, childMetadataMenu, apiUrl, siteId, x++);

                    chlildren.Add(child);
                }
                menu.Menus = chlildren;
            }

            return(menu);
        }