ArcAnnihilation.Core.InitMenu C# (CSharp) Method

InitMenu() private static method

private static InitMenu ( ) : void
return void
        private static void InitMenu()
        {
            if (firstTime)
            {
                var dict = AbilityList.ToDictionary(item => item, item => true);
                var dict2 = AbilityList.ToDictionary(item => item, item => true);
                var pushAbilities = PushList.ToDictionary(item => item, item => true);
                var itemListHero = Items.Keys.ToList().ToDictionary(item => item, item => true);
                var itemListTempest = Items.Keys.ToList().ToDictionary(item => item, item => true);
                Menu.AddItem(new MenuItem("hotkey", "Hotkey").SetValue(new KeyBind('G', KeyBindType.Press)));
                Menu.AddItem(new MenuItem("spamHotkey", "Spark Spam").SetValue(new KeyBind('H', KeyBindType.Press)));
                Menu.AddItem(
                    new MenuItem("hotkeyClone", "ComboKey with Clones").SetValue(new KeyBind('Z', KeyBindType.Toggle)));
                //Menu.AddItem(new MenuItem("Items", "Items:").SetValue(new AbilityToggler(dict)));
                Menu.AddItem(new MenuItem("LockTarget", "Lock target").SetValue(true));
                Menu.AddItem(new MenuItem("MagneticField", "Use Magnetic Field for Faster Kill").SetValue(true))
                    .SetTooltip(
                        "if enable, try to cast in font on hero, disable-> try to cast for defence from melee heroes");
                Menu.AddItem(new MenuItem("Dust.Check", "Dust Usage: Check if target can go invis").SetValue(true))
                    .SetTooltip("by ur tempest in combo");

                var usages = new Menu("Using in combo", "usages");

                var mainHero = new Menu("For Main Hero", "mainHero");
                var spellHero = new Menu("Spells:", "HeroSpells");
                var itemHero = new Menu("Items:", "HeroItems");

                var tempest = new Menu("Tempest", "tempest");
                var spellTempest = new Menu("Spells:", "TempestSpells");
                var itemTempest = new Menu("Items:", "TempestItems");

                itemHero.AddItem(
                    new MenuItem("itemHeroEnable", "Toggle Items:").SetValue(new AbilityToggler(itemListHero)));
                itemHero.AddItem(new MenuItem("customOrderHero", "Use Custom Order").SetValue(false));
                itemHero.AddItem(new MenuItem("itemHero", "Items:").SetValue(new PriorityChanger(Items.Keys.ToList())));

                itemTempest.AddItem(
                    new MenuItem("itemTempestEnable", "Toggle Items:").SetValue(new AbilityToggler(itemListTempest)));
                itemTempest.AddItem(new MenuItem("customOrderTempest", "Use Custom Order").SetValue(false));
                itemTempest.AddItem(
                    new MenuItem("itemTempest", "Items:").SetValue(new PriorityChanger(Items.Keys.ToList())));

                spellHero.AddItem(new MenuItem("spellHero", "Ability:").SetValue(new AbilityToggler(dict)));
                spellTempest.AddItem(new MenuItem("spellTempest", "Ability:").SetValue(new AbilityToggler(dict2)));

                Menu.AddSubMenu(usages);
                usages.AddSubMenu(mainHero);
                usages.AddSubMenu(tempest);
                mainHero.AddSubMenu(spellHero);
                mainHero.AddSubMenu(itemHero);
                tempest.AddSubMenu(spellTempest);
                tempest.AddSubMenu(itemTempest);

                var drawItems = new Menu("Items Drawing", "ItemsDrawing");
                drawItems.AddItem(new MenuItem("DrawItems", "Draw Items on cooldown").SetValue(true));
                drawItems.AddItem(new MenuItem("Draw.Order.Type", "Draw Type: New").SetValue(true))
                    .SetTooltip("use new way for drawing current orders").ValueChanged += (sender, args) =>
                    {
                        _drawType = args.GetNewValue<bool>();
                    };
                drawItems.AddItem(new MenuItem("DrawItems.pos.x", "Position X").SetValue(new Slider(500, 0, 2500)));
                drawItems.AddItem(new MenuItem("DrawItems.pos.y", "Position Y").SetValue(new Slider(500, 0, 2500)));

                Menu.AddItem(new MenuItem("AutoMidas", "Auto Midas").SetValue(true));
                Menu.AddItem(
                    new MenuItem("FirstClone", "Ez Heal").SetValue(true)
                        .SetTooltip("when you use some heal-items, at the beginning of the clone will use this"));
                //Menu.AddItem(new MenuItem("AutoHeal", "Auto Heal/Bottle").SetValue(true).SetTooltip("clone use heal items on main hero if there are no enemies in 500(800) range"));
                var autoheal = new Menu("Auto Heal", "aheal");
                autoheal.AddItem(
                    new MenuItem("AutoHeal.Enable", "Auto Heal").SetValue(new KeyBind('X', KeyBindType.Toggle))
                        .SetTooltip(
                            "clone use heal items on main hero if there are no enemies in selected range. But ll still use insta heal items"));
                autoheal.AddItem(
                    new MenuItem("AutoHeal.Range", "Enemy checker").SetValue(new Slider(500, 0, 1000))
                        .SetTooltip("check enemy in selected range"));
                var autoPush = new Menu("Auto Push", "AutoPush");
                autoPush.AddItem(new MenuItem("AutoPush.Enable", "Enable").SetValue(new KeyBind('V', KeyBindType.Toggle)));
                autoPush.AddItem(new MenuItem("AutoPush.DrawLine", "Draw line").SetValue(false));
                autoPush.AddItem(new MenuItem("AutoPush.Travels", "Use Travel Boots").SetValue(true));
                autoPush.AddItem(
                    new MenuItem("AutoPush.Abilites", "Abilities for pushing").SetValue(new AbilityToggler(pushAbilities)));
                autoPush.AddItem(
                    new MenuItem("AutoPush.UnAggro.Enable", "UnAggro under tower").SetValue(true)
                        .SetTooltip(
                            "Necronomicon will try to unaggro under tower and will stay away from tower if didnt see any ally creep under tower"));
                var antiFeed = new Menu("Anti Feed", "AntiFeed", false, "item_necronomicon_3", true);
                antiFeed.AddItem(
                    new MenuItem("AntiFeed.Enable", "Ebable").SetValue(true)
                        .SetTooltip("if u have any enemy hero in range, ur necro will run on base"));
                antiFeed.AddItem(new MenuItem("AntiFeed.Range", "Range Checker").SetValue(new Slider(800, 0, 1500)));

                var orbwalnking = new Menu("OrbWalking", "ow");
                orbwalnking.AddItem(
                    new MenuItem("OrbWalking.Enable", "Enable OrbWalking").SetValue(true));
                orbwalnking.AddItem(
                    new MenuItem("OrbWalking.minDistance", "Min distance").SetValue(new Slider(100, 0, 600)));

                /*orbwalnking.AddItem(
                new MenuItem("OrbWalking.bonusWindupMs", "Bonus Windup Time").SetValue(new Slider(100, 100, 1000))
                    .SetTooltip("Time between attacks"));*/

                var daggerSelection = new Menu("Dagger", "dagger");
                /*daggerSelection.AddItem(
                            new MenuItem("Dagger.Enable", "Enable Dagger").SetValue(true));*/
                daggerSelection.AddItem(
                    new MenuItem("Dagger.CloseRange", "Extra Distance for blink").SetValue(
                        new Slider(200, 100, 800))).SetTooltip("1200 (dagger's default range) + your value");
                daggerSelection.AddItem(
                    new MenuItem("Dagger.MinDistance", "Min distance for blink").SetValue(new Slider(400, 100, 800)))
                    .SetTooltip("dont use blink if you are in this range");
                daggerSelection.AddItem(
                    new MenuItem("Dagger.ExtraDistance", "Min distance between target & blink pos").SetValue(
                        new Slider(50, 50, 800)));

                var difblade = new Menu("Diffusal blade", "item_diffusal_blade", false, "item_diffusal_blade", true);
                difblade.AddItem(
                    new MenuItem("Diffusal.Dispel", "Dispel Selection").SetValue(new StringList(new[]
                    {
                        "Me",
                        "Tempest",
                        "All",
                        "Noone"
                    }, 2))).SetTooltip("All include ally heroes too");
                difblade.AddItem(
                    new MenuItem("Diffusal.PurgEnemy", "Purge Selection").SetValue(new StringList(new[]
                    {
                        "Only on Main target",
                        "For all Enemies in cast range",
                        "No one"
                    }, 1)));

                Menu.AddItem(new MenuItem("usePrediction", "Use Prediction For Spark").SetValue(true));
                Menu.AddItem(
                    new MenuItem("SparkUsage", "Do not use spark if u re not under enemy's vision").SetValue(false));
                Menu.AddItem(
                    new MenuItem("BkbUsage", "Bkb Selection").SetValue(
                        new StringList(new[] {"me", "clones", "all", "no one"}, 1)));
                //var il=new Menu("Illusion","il");
                //il.AddItem(new MenuItem("orderList", "Use order list").SetValue(false));
                Menu.AddItem(
                    new MenuItem("order", "Clone Order Selection").SetValue(
                        new StringList(new[] {"monkey", "caster", "nothing"}, 1)));
                Menu.AddItem(
                    new MenuItem("TargetSelection", "Target Selection").SetValue(
                        new StringList(new[] {"ClosestToMouse", "FastestKilable", "ClosestToHero"})));

                Menu.AddSubMenu(drawItems);
                Menu.AddSubMenu(difblade);
                Menu.AddSubMenu(daggerSelection);
                Menu.AddSubMenu(autoheal);
                Menu.AddSubMenu(orbwalnking);
                Menu.AddSubMenu(autoPush);
                autoPush.AddSubMenu(antiFeed);
                firstTime = false;
            }
            try
            {
                Menu.AddToMainMenu();
            }
            catch (Exception)
            {

            }
        }