本文整理汇总了C#中AttackableUnit.IsStructure方法的典型用法代码示例。如果您正苦于以下问题:C# AttackableUnit.IsStructure方法的具体用法?C# AttackableUnit.IsStructure怎么用?C# AttackableUnit.IsStructure使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AttackableUnit
的用法示例。
在下文中一共展示了AttackableUnit.IsStructure方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Orbwalker_OnPreAttack
//.........这里部分代码省略.........
{
var useQ = Config.ComboMenu["useQ"].Cast<CheckBox>().CurrentValue;
// If the player has the rocket
if (useQ && Program.Q.IsReady() && Essentials.FishBones())
{
//var target = TargetSelector.GetTarget(Essentials.FishBonesRange(), DamageType.Physical);
if (target != null && target.IsValidTarget())
{
if (Player.Instance.Distance(target) <= Essentials.MinigunRange &&
target.CountEnemiesInRange(100) <
Config.ComboMenu["qCountC"].Cast<Slider>().CurrentValue)
{
Program.Q.Cast();
Orbwalker.ForcedTarget = target;
}
}
}
}
#endregion
#region LastHit
if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LastHit))
{
var useQ = Config.LastHitMenu["useQ"].Cast<CheckBox>().CurrentValue;
var manaQ = Config.LastHitMenu["manaQ"].Cast<Slider>().CurrentValue;
var qCountM = Config.LastHitMenu["qCountM"].Cast<Slider>().CurrentValue;
// Force Minigun if there is a lasthittable minion in minigun range and there is no targets more than the setting amount.
var kM = Orbwalker.LastHitMinionsList.Where(
t => t.IsEnemy &&
t.Health <= (Player.Instance.GetAutoAttackDamage(t) * 0.9) && t.IsValidTarget() &&
t.Distance(Player.Instance) <= Essentials.MinigunRange);
if (useQ && Essentials.FishBones() && kM.Count() < qCountM)
{
Program.Q.Cast();
}
}
#endregion
#region Lane Clear
if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LaneClear))
{
var minion = EntityManager.MinionsAndMonsters.GetLaneMinions(
EntityManager.UnitTeam.Enemy,
Player.Instance.ServerPosition,
Essentials.FishBonesRange()).OrderByDescending(t => t.Health);
if (Essentials.FishBones())
{
foreach (var m in minion)
{
var minionsAoe =
EntityManager.MinionsAndMonsters.EnemyMinions.Count(
t => t.IsValidTarget() && t.Distance(m) <= 100);
if (m.Distance(Player.Instance) <= Essentials.MinigunRange && m.IsValidTarget() &&
(minionsAoe < Config.LaneClearMenu["qCountM"].Cast<Slider>().CurrentValue ||
m.Health > (Player.Instance.GetAutoAttackDamage(m))))
{
Q.Cast();
Orbwalker.ForcedTarget = m;
}
else if (m.Distance(Player.Instance) <= Essentials.MinigunRange &&
!Orbwalker.LastHitMinionsList.Contains(m))
{
Q.Cast();
Orbwalker.ForcedTarget = m;
}
else
{
foreach (
var kM in
Orbwalker.LastHitMinionsList.Where(
kM =>
kM.IsValidTarget() &&
kM.Health <= (Player.Instance.GetAutoAttackDamage(kM)*0.9) &&
kM.Distance(Player.Instance) <= Essentials.MinigunRange))
{
Q.Cast();
Orbwalker.ForcedTarget = kM;
}
}
}
}
}
#endregion
if (Essentials.FishBones() && target.IsStructure() &&
target.Distance(Player.Instance) <= Essentials.MinigunRange)
{
Q.Cast();
}
}
示例2: Orbwalker_OnPreAttack
/// <summary>
/// Called after a attack.
/// </summary>
/// <param name="target">The Target</param>
/// <param name="args">The Args</param>
private static void Orbwalker_OnPreAttack(AttackableUnit target, Orbwalker.PreAttackArgs args)
{
var t = target as AIHeroClient;
var m = target as Obj_AI_Base;
if (!NidaleeMenu.MiscMenu["useQC_AfterAttack"].Cast<CheckBox>().CurrentValue)
{
return;
}
if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo) &&
NidaleeMenu.ComboMenu["useQC"].Cast<CheckBox>().CurrentValue && t != null)
{
if (t.IsValidTarget(QCat.Range) && !target.IsStructure())
{
QCat.Cast(t);
}
}
if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LaneClear) &&
NidaleeMenu.LaneClearMenu["useQC"].Cast<CheckBox>().CurrentValue && m != null)
{
if (m.IsValidTarget(QCat.Range) && !target.IsStructure())
{
QCat.Cast(m);
}
}
if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.JungleClear) &&
NidaleeMenu.JungleClearMenu["useQC"].Cast<CheckBox>().CurrentValue && m != null)
{
if (m.IsValidTarget(QCat.Range) && !target.IsStructure())
{
QCat.Cast(m);
}
}
}
示例3: Orbwalker_OnPostAttack
/// <summary>
/// Called before a attack.
/// </summary>
/// <param name="target">The Target</param>
/// <param name="args">The Args</param>
private static void Orbwalker_OnPostAttack(AttackableUnit target, EventArgs args)
{
if (!NidaleeMenu.MiscMenu["useQC_BeforeAttack"].Cast<CheckBox>().CurrentValue)
{
return;
}
if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo) &&
NidaleeMenu.ComboMenu["useQC"].Cast<CheckBox>().CurrentValue)
{
if (target.IsValidTarget(QCat.Range) && !target.IsStructure())
{
QCat.Cast(target as AIHeroClient);
}
}
if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LaneClear) &&
NidaleeMenu.LaneClearMenu["useQC"].Cast<CheckBox>().CurrentValue)
{
if (target.IsValidTarget(QCat.Range) && !target.IsStructure())
{
QCat.Cast(target as Obj_AI_Base);
}
}
if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.JungleClear) &&
NidaleeMenu.JungleClearMenu["useQC"].Cast<CheckBox>().CurrentValue)
{
if (target.IsValidTarget(QCat.Range) && !target.IsStructure())
{
QCat.Cast(target as Obj_AI_Base);
}
}
}
示例4: OnPostAttack
private static void OnPostAttack(AttackableUnit target, EventArgs args)
{
if (!target.IsWard() && !target.IsStructure()) return;
if (SpellMenu["etpush"].Cast<CheckBox>().CurrentValue && E.IsReady())
{
E.Cast();
}
if (SpellMenu["wtpush"].Cast<CheckBox>().CurrentValue && W.IsReady())
{
W.Cast();
}
}
示例5: PostAttackLogic
private void PostAttackLogic(AttackableUnit target)
{
if (!W.IsReady() || !SpellMenu["wtopush"].Cast<CheckBox>().CurrentValue || !target.IsStructure()) return;
foreach (var ally in EntityManager.Heroes.Allies.Where(ally => !ally.IsMe && ally.IsAlly && ally.Distance(Player.Position) < W.Range))
{
W.Cast(ally);
}
}
示例6: Volatile_OnPostAttack
protected override void Volatile_OnPostAttack(AttackableUnit target, EventArgs args)
{
if (!W.IsReady() || !SpellMenu["wtopush"].Cast<CheckBox>().CurrentValue || !target.IsStructure()) return;
foreach (var ally in EntityManager.Heroes.Allies.Where(ally => !ally.IsMe && ally.IsAlly && ally.Distance(Player.Position) < W.Range))
{
W.Cast(ally);
}
}
示例7: OnPostAttack
private static void OnPostAttack(AttackableUnit target, EventArgs args)
{
var eTarget = TargetSelector2.GetTarget(eRange, DamageType.Physical);
if(SpellManager.E.IsReady() && eTarget.IsValidTarget() && !target.IsStructure() && JokerQuinnBuddy.Config.Modes.Perma.UseEAfterAA)
SpellManager.E.Cast(eTarget);
}
示例8: Volatile_OnPostAttack
protected override void Volatile_OnPostAttack(AttackableUnit target, EventArgs args)
{
if (target.IsWard() || target.IsStructure())
{
if (SpellMenu["etpush"].Cast<CheckBox>().CurrentValue && E.IsReady())
{
E.Cast();
}
if (SpellMenu["wtpush"].Cast<CheckBox>().CurrentValue && W.IsReady())
{
W.Cast();
}
}
if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.JungleClear) && MinionManager.GetMinions(Player.Position, 400, MinionTypes.All, MinionTeam.Neutral).Any())
{
if (SpellMenu["etj"].Cast<CheckBox>().CurrentValue && E.IsReady())
{
E.Cast();
}
if (SpellMenu["wtj"].Cast<CheckBox>().CurrentValue && W.IsReady())
{
W.Cast();
}
}
}