当前位置: 首页>>代码示例>>C#>>正文


C# AttackableUnit类代码示例

本文整理汇总了C#中AttackableUnit的典型用法代码示例。如果您正苦于以下问题:C# AttackableUnit类的具体用法?C# AttackableUnit怎么用?C# AttackableUnit使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


AttackableUnit类属于命名空间,在下文中一共展示了AttackableUnit类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: AfterAttack

 internal static void AfterAttack(AttackableUnit unit, AttackableUnit target)
 {
     if (target.IsValidTarget() && unit.IsValid<Obj_AI_Hero>() && unit.IsMe)
     {
         LastTarget = target;
     }
 }
开发者ID:DZ191,项目名称:LeagueSharp,代码行数:7,代码来源:PlayerMonitor.cs

示例2: OrbwalkingAfterAttack

        private static void OrbwalkingAfterAttack(AttackableUnit unit, AttackableUnit target)
        {
            if (!unit.IsMe) return;

            if (passiveStacks > 0)
                passiveStacks = passiveStacks - 1;
        }
开发者ID:dougbenham,项目名称:Will-update,代码行数:7,代码来源:PassiveTracker.cs

示例3: Orbwalking_AfterAttack

        private void Orbwalking_AfterAttack(AttackableUnit unit, AttackableUnit target)
        {
            if (Player.ChampionName == "Riven")
                return;

            if (!Menu.Item("use" + Name).GetValue<bool>() || !IsReady())
                return;

            var hero = target as Obj_AI_Hero;
            if (hero.IsValidTarget(Range))
            {
                if (!Parent.Item(Parent.Name + "useon" + hero.NetworkId).GetValue<bool>())
                    return;

                if (hero.Health / hero.MaxHealth * 100 <= Menu.Item("enemylowhp" + Name + "pct").GetValue<Slider>().Value)
                {
                    UseItem(Tar.Player, true);
                }

                if (Player.Health / Player.MaxHealth * 100 <= Menu.Item("selflowhp" + Name + "pct").GetValue<Slider>().Value)
                {
                    UseItem(Tar.Player, true);
                }
            }
        }
开发者ID:Deprive,项目名称:Private,代码行数:25,代码来源:_3077.cs

示例4: getLaneClearPred

 public static float getLaneClearPred(AttackableUnit unit, int msTime, bool ignoreAlmostDead = true)
 {
     float predictedDamage = 0;
     var damageDoneTill = now + msTime;
     foreach (var damager in damagerSources.Values)
     {
         if(!damager.isValidDamager())
             continue;
         var target = damager.getTarget();
         if(target == null || target.NetworkId != unit.NetworkId || (ignoreAlmostDead && almostDead(damager.source)))
             continue;
         if (damager.firstHitAt > damageDoneTill)
             continue;
         predictedDamage += damager.damage;
         //Console.WriteLine(damager.damage);
         //Can be optimized??
         var nextAA = damager.firstHitAt + damager.cycle;
         while (damageDoneTill > nextAA)
         {
             predictedDamage += damager.damage;
             nextAA += damager.cycle;
         }
     }
     //if (predictedDamage > 0)
        // Console.WriteLine("dmg: " + predictedDamage);
     return unit.Health - predictedDamage;
 }
开发者ID:jmj8537,项目名称:GoodGuyJodu,代码行数:27,代码来源:HealthDeath.cs

示例5: Orbwalker_OnPostAttack

        private static void Orbwalker_OnPostAttack(AttackableUnit target, EventArgs args)
        {
            bool newtarget = false;
            if (Settings.useHarrier && (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo) || Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Harass)))
            {
                foreach (var e in EntityManager.Heroes.Enemies.Where(t => !t.IsDead && t.IsTargetable && !t.IsZombie && !t.IsInvulnerable && Player.Instance.IsInRange(t, 525)).OrderBy(t => t.MaxHealth))
                {
                    if (e.HasBuff("quinnw"))
                    {
                        Orbwalker.ForcedTarget = e;
                        newtarget = true;

                        break;
                    }
                }
            }
            else if (Settings.useHarrier)
            {
                foreach (var e in EntityManager.MinionsAndMonsters.CombinedAttackable)
                {
                    if (e.HasBuff("quinnw"))
                    {
                        Orbwalker.ForcedTarget = e;
                        newtarget = true;
                        break;
                    }
                }
            }
            if (!newtarget)
            {
                Orbwalker.ForcedTarget = null;
                //Orbwalker.ResetAutoAttack();
            }
        }
开发者ID:denizereer3,项目名称:EloBuddy,代码行数:34,代码来源:Program.cs

示例6: Weaving

        /// <summary>
        ///     Called on orbwalker action.
        /// </summary>
        /// <param name="sender">The sender.</param>
        /// <param name="target">The target.</param>
        public static void Weaving(AttackableUnit sender, AttackableUnit target)
        {
            var tg = (Obj_AI_Hero)target;
            if (TargetSelector.IsInvulnerable(tg, TargetSelector.DamageType.Physical))
            {
                return;
            }

            /// <summary>
            ///     The Q Weaving Logic.
            /// </summary>
            if (Variables.Q.IsReady() && Variables.QMenu.Item("combo").IsActive())
            {
                if (!Variables.Q.GetPrediction(tg).CollisionObjects.Any())
                {
                    Variables.Q.Cast(Variables.Q.GetPrediction(tg).UnitPosition);
                    return;
                }
            }

            /// <summary>
            ///     The W Weaving Logic.
            /// </summary>
            if (Variables.W.IsReady() && Variables.WMenu.Item("combo").IsActive())
            {
                Variables.W.Cast(Variables.W.GetPrediction(tg).UnitPosition);
            }
        }
开发者ID:nabbhacker,项目名称:ExoryREPO,代码行数:33,代码来源:Weaving.cs

示例7: BuildingClear

        /// <summary>
        ///     Called on orbwalker action.
        /// </summary>
        /// <param name="sender">The sender.</param>
        /// <param name="target">The target.</param>
        public static void BuildingClear(AttackableUnit sender, AttackableUnit target)
        {
            if (!(target is Obj_HQ) && !(target is Obj_AI_Turret) && !(target is Obj_BarracksDampener))
            {
                return;
            }

            /// <summary>
            ///     The E BuildingClear Logic.
            /// </summary>
            if (Variables.E.IsReady()
                && ObjectManager.Player.ManaPercent
                > ManaManager.GetNeededMana(Variables.E.Slot, Variables.EMenu.Item("buildings"))
                && Variables.EMenu.Item("buildings").GetValue<SliderButton>().Value.Item2)
            {
                Variables.E.Cast(ObjectManager.Player.ServerPosition.Extend(Game.CursorPos, 25));
                return;
            }

            /// <summary>
            ///     The W BuildingClear Logic.
            /// </summary>
            if (Variables.W.IsReady()
                && ObjectManager.Player.ManaPercent
                > ManaManager.GetNeededMana(Variables.W.Slot, Variables.WMenu.Item("buildings"))
                && Variables.WMenu.Item("buildings").GetValue<SliderButton>().Value.Item2)
            {
                Variables.W.Cast(Game.CursorPos);
            }
        }
开发者ID:nabbhacker,项目名称:ExoryREPO,代码行数:35,代码来源:Clear.cs

示例8: afterAttack

        private void afterAttack(AttackableUnit unit, AttackableUnit target)
        {
            if (!unit.IsMe)
                return;
            var t = target as Obj_AI_Hero;

            var dashPosition = Player.Position.Extend(Game.CursorPos, Q.Range);

            if (Q.IsReady() && t.IsValidTarget() && GetWStacks(t) == 1 && t.Position.Distance(Game.CursorPos) < t.Position.Distance(Player.Position) && dashPosition.CountEnemiesInRange(800) < 3)
            {
                Q.Cast(dashPosition, true);
                Program.debug("" + t.Name + GetWStacks(t));
            }
            else if (Q.IsReady() && Program.Farm && Config.Item("farmQ").GetValue<bool>())
            {
                var minions = MinionManager.GetMinions(dashPosition, Player.AttackRange, MinionTypes.All);

                if (minions == null || minions.Count == 0)
                    return;

                int countMinions = 0;

                foreach (var minion in minions.Where(minion => minion.Health < Player.GetAutoAttackDamage(minion) + Q.GetDamage(minion)))
                {
                    countMinions++;
                }

                if (countMinions > 1)
                    Q.Cast(dashPosition, true);
            }
        }
开发者ID:rio4948,项目名称:LeagueRepo,代码行数:31,代码来源:Vayne.cs

示例9: CustomInAutoattackRange

        public int CustomInAutoattackRange(AttackableUnit target)
        {
            if (Orbwalking.InAutoAttackRange(target))
            {
                return 1;
            }

            if (!target.IsValidTarget())
            {
                return 0;
            }

            //Azir's soldiers can't attack structures.
            if (!(target is Obj_AI_Base))
            {
                return 0;
            }

            var soldierAArange = _soldierAARange + 65 + target.BoundingRadius;
            soldierAArange *= soldierAArange;
            foreach (var soldier in SoldiersManager.ActiveSoldiers)
            {
                if (soldier.Distance(target, true) <= soldierAArange)
                {
                    return 2;
                }
            }

            return 0;
        }
开发者ID:ShineSharp,项目名称:LeagueSharp-4,代码行数:30,代码来源:AzirWalker.cs

示例10: JungleClear

        /// <summary>
        ///     Called on orbwalker action.
        /// </summary>
        /// <param name="sender">The sender.</param>
        /// <param name="target">The target.</param>
        public static void JungleClear(AttackableUnit sender, AttackableUnit target)
        {
            var tg = (Obj_AI_Minion)target;
            if (!Targets.JungleMinions.Contains(tg))
            {
                return;
            }

            /// <summary>
            ///     The W JungleClear Logic.
            /// </summary>
            if (Variables.W.IsReady() && Variables.WMenu.Item("jungleclear").IsActive())
            {
                Variables.W.Cast();
                return;
            }

            /// <summary>
            ///     The Q JungleClear Logic.
            /// </summary>
            if (Variables.Q.IsReady() && Variables.QMenu.Item("jungleclear").IsActive())
            {
                Variables.Q.Cast();
            }
        }
开发者ID:nabbhacker,项目名称:ExoryREPO,代码行数:30,代码来源:Clear.cs

示例11: OnAfterAttack

 private static void OnAfterAttack(AttackableUnit target, EventArgs args)
 {
     if (Settings.UsarQ.CurrentValue)
         if (Orbwalker.ActiveModesFlags.Equals(Orbwalker.ActiveModes.Combo))
         {
             var starget = target as AIHeroClient;
             if (starget != null)
             {
                 if (Settings.FixQ.CurrentValue)
                 {
                     if (starget.IsInRange(Player.Instance, Player.Instance.GetAutoAttackRange()))
                         if (Spells.Q.IsReady()) Spells.Q.Cast();
                 }
                 else if (Settings.FixQ.CurrentValue == false)
                 {
                     if (starget.IsInAutoAttackRange(Player.Instance))
                         if (Spells.Q.IsReady()) Spells.Q.Cast();
                 }
             }
         }
     if (Settings.JusarQ.CurrentValue)
         if (Orbwalker.ActiveModesFlags.Equals(Orbwalker.ActiveModes.JungleClear))
         {
             var monster = target as Obj_AI_Minion;
             if (monster != null)
             {
                 if (monster.IsInRange(Player.Instance, Player.Instance.GetAutoAttackRange()))
                     if (Spells.Q.IsReady()) Spells.Q.Cast();
             }
         }
 }
开发者ID:WeinerCH,项目名称:EB,代码行数:31,代码来源:Events.cs

示例12: OrbwalkerOnOnPostAttack

        private void OrbwalkerOnOnPostAttack(AttackableUnit target, EventArgs args)
        {
            var unit = target as AIHeroClient;

            if (unit == null)
            {
                Orbwalker.OnPostAttack -= OrbwalkerOnOnPostAttack;
                return;
            }

            if (Settings.UseQ && Q.IsReady() && unit.GetSilverStacks() >= 0)
            {
                var sidePolygon = Helpers.GetSidePolygons();
                var positions = new List<Vector2>();

                for (var i = 0; i < 2; i++)
                {
                    positions.Add(sidePolygon[i].Points.Where(index => index.ToVector3().ExtendPlayerVector().IsInRange(unit, Player.Instance.GetAutoAttackRange())).OrderByDescending(
                    index => index.Distance(unit.ServerPosition)).FirstOrDefault());
                }
                Q.Cast(positions.OrderByDescending(index => index.Distance(unit)).FirstOrDefault().ToVector3().ExtendPlayerVector(200));
            }

            if (Settings.UseE && E.IsReady() && unit.GetSilverStacks() == 1 && unit.IsECastableOnEnemy())
            {
                SpellManager.E.Cast(unit);
            }
            Orbwalker.OnPostAttack -= OrbwalkerOnOnPostAttack;
        }
开发者ID:jachicao,项目名称:EloBuddy,代码行数:29,代码来源:Harass.cs

示例13: afterAttack

        private void afterAttack(AttackableUnit unit, AttackableUnit target)
        {
            if (Player.Mana < RMANA + WMANA || !W.IsReady() || !unit.IsMe)
                return;

            var t = target as Obj_AI_Hero;

            if (t.IsValidTarget())
                W.Cast();
            else if (Config.Item("farmW", true).GetValue<bool>())
            {
                var minions = MinionManager.GetMinions(Player.Position, Player.AttackRange, MinionTypes.All);

                if (minions == null || minions.Count == 0)
                    return;

                int countMinions = 0;

                foreach (var minion in minions.Where(minion => minion.Health < W.GetDamage(minion)))
                {
                    countMinions++;
                }

                if (countMinions > 0)
                    W.Cast();
            }
        }
开发者ID:47110572,项目名称:LeagueRepo,代码行数:27,代码来源:Darius.cs

示例14: UseHydraNot

 public static void UseHydraNot(AttackableUnit target)
 {
     if (!Tiamat.IsOwned() && !Hydra.IsOwned()) return;
     if (!Tiamat.IsReady() && !Hydra.IsReady()) return;
     Tiamat.Cast();
     Hydra.Cast();
 }
开发者ID:himrengod,项目名称:Elobuddy-1,代码行数:7,代码来源:ItemManager.cs

示例15: OnAfterAttack

 protected override void OnAfterAttack(AttackableUnit unit, AttackableUnit target)
 {
     if (!unit.IsMe) return;
     if (unit.IsMe)
     {
         if (myOrbwalker.ActiveMode == myOrbwalker.OrbwalkingMode.Combo)
         {
             if (config.Item("UseWCombo").GetValue<bool>() &&
                 !Player.IsWindingUp &&
                 W.IsReady() &&
                 target.IsValidTarget() && Orbwalking.InAutoAttackRange(target)) W.Cast();
         }
         if (myOrbwalker.ActiveMode == myOrbwalker.OrbwalkingMode.Harass)
         {
             if (config.Item("UseWHarass").GetValue<bool>() &&
                 !Player.IsWindingUp &&
                 W.IsReady() &&
                 target.IsValidTarget() && Orbwalking.InAutoAttackRange(target)) W.Cast();
         }
         if (myOrbwalker.ActiveMode == myOrbwalker.OrbwalkingMode.JungleClear)
         {
             if (target is Obj_AI_Minion && target.Team == GameObjectTeam.Neutral && !target.Name.Contains("Mini") &&
                 !Player.IsWindingUp && Orbwalking.InAutoAttackRange(target))
             {
                 if (W.IsReady() && config.Item("UseWJFarm").GetValue<bool>()) W.Cast();
             }
         }
     }
 }
开发者ID:Shpaamyi,项目名称:LeagueSharp,代码行数:29,代码来源:Sivir.cs


注:本文中的AttackableUnit类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。