Exemplo n.º 1
0
            static InterrupterMenu()
            {
                var interrupterMenu = Menu.AddSubMenu("Interrupter");

                _enabled = interrupterMenu.Add("InterrupterEnabled", new CheckBox("Enable Interrupter"));
                interrupterMenu.AddSeparator();


                interrupterMenu.AddGroupLabel("Interruptible Spells !");
                interrupterMenu.AddSeparator(5);

                var intt = new Interrupter();

                foreach (
                    var data in
                    EntityManager.Heroes.Enemies.Where(x => Interrupter.Interruptible.ContainsKey(x.Hero))
                    .Select(x => Interrupter.Interruptible.FirstOrDefault(key => key.Key == x.Hero)))
                {
                    var dangerlevel = Interrupter.Interruptible.FirstOrDefault(pair => pair.Key == data.Key);

                    interrupterMenu.AddGroupLabel(data.Key + " " + data.Value.SpellSlot);

                    interrupterMenu.Add("Enabled." + data.Key, new CheckBox("Enabled")).OnValueChange +=
                        delegate(ValueBase <bool> sender, ValueBase <bool> .ValueChangeArgs args)
                    {
                        var interrupterMenuInfo = InterrupterMenuValues.FirstOrDefault(i => i.Champion == data.Key);
                        if (interrupterMenuInfo != null)
                        {
                            interrupterMenuInfo.Enabled = args.NewValue;
                        }
                    };

                    interrupterMenu.Add("DangerLevel." + data.Key, new ComboBox("Danger Level", new[] { "High", "Medium", "Low" }, (int)dangerlevel.Value.DangerLevel)).OnValueChange +=
                        delegate(ValueBase <int> sender, ValueBase <int> .ValueChangeArgs args)
                    {
                        var interrupterMenuInfo = InterrupterMenuValues.FirstOrDefault(i => i.Champion == data.Key);
                        if (interrupterMenuInfo != null)
                        {
                            interrupterMenuInfo.DangerLevel = (DangerLevel)args.NewValue;
                        }
                    };

                    interrupterMenu.Add("PercentHP." + data.Key, new Slider("Only if Im below of {0} % of my HP", 100)).OnValueChange +=
                        delegate(ValueBase <int> sender, ValueBase <int> .ValueChangeArgs args)
                    {
                        var interrupterMenuInfo = InterrupterMenuValues.FirstOrDefault(i => i.Champion == data.Key);
                        if (interrupterMenuInfo != null)
                        {
                            interrupterMenuInfo.PercentHp = args.NewValue;
                        }
                    };

                    interrupterMenu.Add("EnemiesNear." + data.Key, new Slider("Only if {0} or less enemies are near", 5, 1, 5)).OnValueChange +=
                        delegate(ValueBase <int> sender, ValueBase <int> .ValueChangeArgs args)
                    {
                        var interrupterMenuInfo = InterrupterMenuValues.FirstOrDefault(i => i.Champion == data.Key);
                        if (interrupterMenuInfo != null)
                        {
                            interrupterMenuInfo.EnemiesNear = args.NewValue;
                        }
                    };

                    var rand = new Random();

                    interrupterMenu.Add("Delay." + data.Key, new Slider("Humanizer delay", rand.Next(15, 50), 0, 500)).OnValueChange +=
                        delegate(ValueBase <int> sender, ValueBase <int> .ValueChangeArgs args)
                    {
                        var interrupterMenuInfo = InterrupterMenuValues.FirstOrDefault(i => i.Champion == data.Key);
                        if (interrupterMenuInfo != null)
                        {
                            interrupterMenuInfo.Delay = args.NewValue;
                        }
                    };

                    interrupterMenu.AddSeparator(5);

                    InterrupterMenuValues.Add(new Interrupter.InterrupterMenuInfo
                    {
                        Champion    = data.Key,
                        SpellSlot   = data.Value.SpellSlot,
                        Delay       = interrupterMenu["Delay." + data.Key].Cast <Slider>().CurrentValue,
                        DangerLevel = (DangerLevel)interrupterMenu["DangerLevel." + data.Key].Cast <ComboBox>().CurrentValue,
                        Enabled     = interrupterMenu["Enabled." + data.Key].Cast <CheckBox>().CurrentValue,
                        EnemiesNear = interrupterMenu["EnemiesNear." + data.Key].Cast <Slider>().CurrentValue,
                        PercentHp   = interrupterMenu["PercentHP." + data.Key].Cast <Slider>().CurrentValue
                    });

                    foundinterruptiblespells++;
                }
                if (foundinterruptiblespells == 0)
                {
                    interrupterMenu.AddGroupLabel("No interruptible spells found !");
                }
            }
Exemplo n.º 2
0
            static InterrupterMenu()
            {
                var interrupterMenu = Menu.AddSubMenu("Interrupter");
                _enabled = interrupterMenu.Add("InterrupterEnabled", new CheckBox("Enable Interrupter"));
                interrupterMenu.AddSeparator();

                interrupterMenu.AddGroupLabel("Interruptible Spells !");
                interrupterMenu.AddSeparator(5);

                var intt = new Interrupter();

                foreach (
                    var data in
                        EntityManager.Heroes.Enemies.Where(x => Interrupter.Interruptible.ContainsKey(x.Hero))
                            .Select(x => Interrupter.Interruptible.FirstOrDefault(key => key.Key == x.Hero)))
                {
                    var dangerlevel = Interrupter.Interruptible.FirstOrDefault(pair => pair.Key == data.Key);

                    interrupterMenu.AddGroupLabel(data.Key + " " + data.Value.SpellSlot);

                    interrupterMenu.Add("Enabled." + data.Key, new CheckBox("Enabled")).OnValueChange +=
                        delegate(ValueBase<bool> sender, ValueBase<bool>.ValueChangeArgs args)
                        {
                            var interrupterMenuInfo = InterrupterMenuValues.FirstOrDefault(i => i.Champion == data.Key);
                            if (interrupterMenuInfo != null)
                                interrupterMenuInfo.Enabled = args.NewValue;
                        };

                    interrupterMenu.Add("DangerLevel." + data.Key, new ComboBox("Danger Level", new[] {"High", "Medium", "Low"}, (int) dangerlevel.Value.DangerLevel)).OnValueChange +=
                        delegate(ValueBase<int> sender, ValueBase<int>.ValueChangeArgs args)
                        {
                            var interrupterMenuInfo = InterrupterMenuValues.FirstOrDefault(i => i.Champion == data.Key);
                            if (interrupterMenuInfo != null)
                                interrupterMenuInfo.DangerLevel = (DangerLevel) args.NewValue;
                        };

                    interrupterMenu.Add("PercentHP." + data.Key, new Slider("Only if Im below of {0} % of my HP", 100)).OnValueChange +=
                        delegate(ValueBase<int> sender, ValueBase<int>.ValueChangeArgs args)
                        {
                            var interrupterMenuInfo = InterrupterMenuValues.FirstOrDefault(i => i.Champion == data.Key);
                            if (interrupterMenuInfo != null)
                                interrupterMenuInfo.PercentHp = args.NewValue;
                        };

                    interrupterMenu.Add("EnemiesNear." + data.Key, new Slider("Only if {0} or less enemies are near", 5, 1, 5)).OnValueChange +=
                        delegate (ValueBase<int> sender, ValueBase<int>.ValueChangeArgs args)
                        {
                            var interrupterMenuInfo = InterrupterMenuValues.FirstOrDefault(i => i.Champion == data.Key);
                            if (interrupterMenuInfo != null)
                                interrupterMenuInfo.EnemiesNear = args.NewValue;
                        };

                    var rand = new Random();

                    interrupterMenu.Add("Delay." + data.Key, new Slider("Humanizer delay", rand.Next(15, 50), 0, 500)).OnValueChange +=
                        delegate (ValueBase<int> sender, ValueBase<int>.ValueChangeArgs args)
                        {
                            var interrupterMenuInfo = InterrupterMenuValues.FirstOrDefault(i => i.Champion == data.Key);
                            if (interrupterMenuInfo != null)
                                interrupterMenuInfo.Delay = args.NewValue;
                        };

                    interrupterMenu.AddSeparator(5);

                    InterrupterMenuValues.Add(new Interrupter.InterrupterMenuInfo
                    {
                        Champion = data.Key,
                        SpellSlot = data.Value.SpellSlot,
                        Delay = interrupterMenu["Delay." + data.Key].Cast<Slider>().CurrentValue,
                        DangerLevel = (DangerLevel)interrupterMenu["DangerLevel." + data.Key].Cast<ComboBox>().CurrentValue,
                        Enabled = interrupterMenu["Enabled." + data.Key].Cast<CheckBox>().CurrentValue,
                        EnemiesNear = interrupterMenu["EnemiesNear." + data.Key].Cast<Slider>().CurrentValue,
                        PercentHp = interrupterMenu["PercentHP." + data.Key].Cast<Slider>().CurrentValue
                    });

                    foundinterruptiblespells++;
                }
                if (foundinterruptiblespells == 0)
                {
                    interrupterMenu.AddGroupLabel("No interruptible spells found !");
                }
            }