Ensage.Common.Menu.AbilityToggler.IsEnabled C# (CSharp) Method

IsEnabled() public method

The is enabled.
public IsEnabled ( string name ) : bool
name string /// The name. ///
return bool
        public bool IsEnabled(string name)
        {
            return this.Dictionary.ContainsKey(name) && this.Dictionary[name];
        }

Usage Example

Example #1
0
        public static void Game_OnUpdate(EventArgs args)
        {
            if (!isloaded)
            {
                me = ObjectManager.LocalHero;
                if (!Game.IsInGame || me == null)
                {
                    return;
                }
                if (me.Team == Team.Dire)
                    foreach (var creepWave in CreepWaves)
                        creepWave.Coords.Reverse();
                isloaded = true;
            }

            if (me == null || !me.IsValid)
            {
                isloaded = false;
                me = ObjectManager.LocalHero;
                return;
            }

            if (me.ClassID != ClassID.CDOTA_Unit_Hero_Meepo || Game.IsPaused || Game.IsChatOpen)
            {
                return;
            }

            var stackKey = Menu.Item("Stack").GetValue<KeyBind>().Active;
            var lanePush = Menu.Item("LanePush").GetValue<KeyBind>().Active;
            var JungleFarm = Menu.Item("JungleFarm").GetValue<KeyBind>().Active;
            _menuValue = Menu.Item("enabledAbilities").GetValue<AbilityToggler>();
            W = me.Spellbook.Spell2;
            var wRadius = W.GetCastRange() - 30;
            var movementspeed = me.MovementSpeed;

            travels = me.Inventory.Items.FirstOrDefault(item => item.Name.Contains("item_travel_boots"));

            meepos = ObjectMgr.GetEntities<Meepo>().Where(meepo => meepo.Team == me.Team && !meepo.Equals(me)).ToList();

            var seconds = ((int)Game.GameTime) % 60;

            if (JungleCamps.FindAll(x => x.meepos != null).Count != meepos.Count || seconds == 1)
            {
                foreach (var camp in JungleCamps)
                {
                    camp.meepos = null;
                    camp.Stacking = false;
                    camp.Farming = false;
                    camp.State = 0;
                }
            }
            if (seconds == 0)
            {
                foreach (var camp in JungleCamps)
                {
                    camp.meepos = null;
                    camp.Stacking = false;
                    camp.Farming = false;
                    camp.Empty = false;
                    camp.State = 0;
                }
            }

            #region lanepush

            if (lanePush && Utils.SleepCheck("lanePush"))
            {
                try
                {
                    var creeps =
                        ObjectManager.GetEntities<Unit>()
                            .Where(
                                x =>
                                    x.IsAlive && x.IsVisible && x.Team != me.Team
                                    && (x.ClassID == ClassID.CDOTA_BaseNPC_Creep_Lane
                                    || x.ClassID == ClassID.CDOTA_BaseNPC_Creep
                                    || x.ClassID == ClassID.CDOTA_BaseNPC_Creep_Neutral
                                    || x.ClassID == ClassID.CDOTA_BaseNPC_Creep_Siege
                                     ))
                            .OrderByDescending(x => x.Distance2D(new Vector3(0, 0, 0))).ToList();

                    var creepdel = new List<Unit>();
                    foreach (var creepWave in CreepWaves)
                    {
                        creepdel.AddRange(creepWave.Creeps.Where(creep => creeps.All(x => x.Handle != creep.Handle)));
                        foreach (var creep in creepdel)
                            creepWave.Creeps.Remove(creep);
                    }

                    foreach (var creep in creeps)
                    {
                        float[] distance = { float.MaxValue };
                        var name = "";
                        foreach (var creepWave in CreepWaves)
                        {
                            foreach (var pos in creepWave.Coords.Where(pos => distance[0] > pos.Distance2D(creep)))
                            {
                                name = creepWave.Name;
                                distance[0] = pos.Distance2D(creep);
                            }
                        }
                        if (CreepWaves.Any(x => x.Name == name && !x.Creeps.Contains(creep)))
                            CreepWaves.First(x => x.Name == name && !x.Creeps.Contains(creep)).Creeps.Add(creep);
                    }

                    foreach (var creepWave in CreepWaves)
                    {
                        if (creepWave.Creeps.Count > 0)
                            creepWave.Position = new Vector3(
                                creepWave.Creeps.Average(x => x.Position.X),
                                creepWave.Creeps.Average(x => x.Position.Y),
                                creepWave.Creeps.Average(x => x.Position.Z));
                    }
                }
                catch (Exception e)
                {
                    Console.WriteLine("Error LanePush" + e);
                }

                if (meepos.Count > 0)
                {
                    try
                    {
                        foreach (var meepo in meepos)
                        {
                            if (!CreepWaves.Any(x => x.meepo != null && x.meepo.Handle == meepo.Handle) &&
                                CreepWaves.Count(x => x.meepo == null) > 0)
                                CreepWaves.First(x => x.meepo == null).meepo = meepo;
                        }
                    }
                    catch (Exception)
                    {
                        Console.WriteLine("Error LanePush 4");
                    }
                    try
                    {
                        foreach (var creepWave in CreepWaves.Where(x => x.meepo != null))
                        {
                            if (GetClosestCreep(creepWave) != null)
                            {
                                if (creepWave.meepo.Distance2D(GetClosestWave(creepWave)) < 300
                                    || creepWave.meepo.Distance2D(creepWave.Position) < 1000)
                                    creepWave.meepo.Attack(GetClosestCreep(creepWave));
                                else
                                    creepWave.meepo.Move(creepWave.Position);
                            }
                            else
                            {
                                if (creepWave.meepo.Distance2D(GetClosestWave(creepWave)) > 100)
                                {
                                    creepWave.meepo.Move(GetClosestWave(creepWave));
                                    creepWave.Position = GetNextWave(creepWave);
                                }
                                else
                                {
                                    creepWave.meepo.Move(GetNextWave(creepWave));
                                    creepWave.Position = GetNextWave(creepWave);
                                }
                            }

                            if (creepWave.meepo.Modifiers.Any(
                                m => m.Name == "modifier_kill" && Math.Abs(m.Duration - m.ElapsedTime - 1) < 0) ||
                                meepos.All(x => x.Handle != creepWave.meepo.Handle))
                                creepWave.meepo = null;
                        }
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine("Error LanePush 5" + e);
                    }
                }
                Utils.Sleep(500, "lanePush");
            }
            #endregion

            #region Stack

            else if (stackKey && meepos.Count > 0 && Utils.SleepCheck("wait"))
            {
                foreach (var meepo in meepos)
                {
                    if (!Check(meepo))
                    {
                        JungleCamps.Find(x => x.Id == GetClosestCamp(meepo, true, false).Id).meepos = meepo;
                        JungleCamps.Find(x => x.Id == GetClosestCamp(meepo, true, false).Id).Stacking = true;
                    }
                    else
                    {
                        var illusionCamps = CheckMeepo(meepo);
                        switch (illusionCamps.State)
                        {
                            case 0:
                                if (meepo.Distance2D(illusionCamps.WaitPosition) < 5)
                                    illusionCamps.State = 1;
                                else
                                    meepo.Move(illusionCamps.WaitPosition);
                                Utils.Sleep(500, "wait");
                                break;
                            case 1:
                                creepscount = CreepCount(illusionCamps.meepos, 800);
                                if (creepscount == 0)
                                {
                                    JungleCamps.Find(x => x.Id == illusionCamps.Id).meepos = null;
                                    JungleCamps.Find(x => x.Id == illusionCamps.Id).Empty = true;
                                    JungleCamps.Find(x => x.Id == illusionCamps.Id).Stacking = false;
                                    JungleCamps.Find(x => x.Id == GetClosestCamp(meepo, true, false).Id).meepos =
                                        meepo;
                                    JungleCamps.Find(x => x.Id == GetClosestCamp(meepo, true, false).Id).Stacking =
                                        true;
                                }
                                else if (seconds >= illusionCamps.Starttime - 5)
                                {
                                    closestNeutral = GetNearestCreepToPull(illusionCamps.meepos, 800);
                                    stackPosition = illusionCamps.StackPosition;
                                    var moveTime = illusionCamps.Starttime -
                                                   (GetDistance2D(illusionCamps.meepos.Position,
                                                       closestNeutral.Position) +
                                                    (closestNeutral.IsRanged
                                                        ? closestNeutral.AttackRange
                                                        : closestNeutral.RingRadius)) / movementspeed;
                                    illusionCamps.AttackTime = (int)moveTime;
                                    illusionCamps.State = 2;
                                }
                                Utils.Sleep(500, "wait");
                                break;
                            case 2:
                                if (seconds >= illusionCamps.AttackTime)
                                {
                                    closestNeutral = GetNearestCreepToPull(illusionCamps.meepos, 1200);
                                    stackPosition = GetClosestCamp(illusionCamps.meepos, true, false).StackPosition;
                                    illusionCamps.meepos.Attack(closestNeutral);
                                    illusionCamps.State = 3;
                                    var tWait =
                                        (int)
                                            (((GetDistance2D(illusionCamps.meepos.Position, closestNeutral.Position)) /
                                              movementspeed) * 1000 + Game.Ping);
                                    Utils.Sleep(tWait, "" + illusionCamps.meepos.Handle);
                                }
                                break;
                            case 3:
                                if (Utils.SleepCheck("" + illusionCamps.meepos.Handle))
                                {
                                    var poof = meepo.Spellbook.SpellW;
                                    if (_menuValue.IsEnabled(poof.Name) && poof.CanBeCasted() &&
                                        Creepcountall(wRadius) > Creepcountall(600) / 2)
                                        poof.UseAbility(meepo);
                                    illusionCamps.meepos.Move(illusionCamps.StackPosition);
                                    illusionCamps.State = 4;
                                }
                                break;
                            case 4:
                                meepo.Move(illusionCamps.StackPosition);
                                Utils.Sleep(1000, "wait");
                                break;
                            default:
                                illusionCamps.State = 0;
                                break;
                        }
                    }
                }

            }
            #endregion Stack

            #region Farm

            else if (JungleFarm && meepos.Count > 0 && Utils.SleepCheck("farm"))
            {
                foreach (var meepo in meepos)
                {
                    if (!Check(meepo))
                    {
                        JungleCamps.Find(x => x.Id == GetClosestCamp(meepo, false, false).Id).meepos = meepo;
                        JungleCamps.Find(x => x.Id == GetClosestCamp(meepo, false, false).Id).Farming = true;
                    }
                    else
                    {
                        var illusionCamps = CheckMeepo(meepo);
                        if (meepo.Distance2D(illusionCamps.Position) > 100)
                        {
                            meepo.Move(illusionCamps.Position);
                        }
                        else
                        {
                            var poof = meepo.Spellbook.SpellW;
                            if (poof.CanBeCasted() && CreepCount(meepo, 300) > 0 && _menuValue.IsEnabled(poof.Name) &&
                                Creepcountall(wRadius) >= Creepcountall(600) / 2)
                                poof.UseAbility(meepo);
                            meepo.Attack(GetNearestCreepToPull(illusionCamps.meepos, 500));
                        }

                    }
                }
                Utils.Sleep(1000, "farm");
            }

            #endregion Farm
        }