本文整理汇总了C#中Hero.Count方法的典型用法代码示例。如果您正苦于以下问题:C# Hero.Count方法的具体用法?C# Hero.Count怎么用?C# Hero.Count使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Hero
的用法示例。
在下文中一共展示了Hero.Count方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Execute
//.........这里部分代码省略.........
|| (x.Value.CanBeCasted(SoulRing.ManaGained) && SoulRing.Check(x.Value)))
&& !x.Value.IsAbilityBehavior(AbilityBehavior.Hidden)
&& ((x.Value is Item && me.CanUseItems()) || (!(x.Value is Item) && me.CanCast()))
&& (Utils.SleepCheck(x.Value.Handle.ToString())
|| (!x.Value.IsInAbilityPhase && x.Value.FindCastPoint() > 0))))
{
var ability = data.Value;
var name = NameManager.Name(ability);
var category = (name == "lion_impale") ? "disable" : data.Key.Substring(name.Length);
// if (category == "special" || category == "buff")
// {
// continue;
// }
// if (onlyDamage && (category == "disable" || category == "slow" || category == "silence"))
// {
// continue;
// }
// if (onlyDisable && (category == "nuke" || category == "harras"))
// {
// continue;
// }
if (category != "buff" && target.IsMagicImmune() && ability.ImmunityType != (ImmunityType)3)
{
continue;
}
if (!CastingChecks.All(name, target, ability))
{
continue;
}
var handleString = ability.Handle.ToString();
if (etherealHitTime >= (Environment.TickCount + ability.GetHitDelay(target, name) * 1000))
{
continue;
}
if (name == "omniknight_purification")
{
if (Nukes.NukesMenuDictionary[name].Item(name + "minManaCheck").GetValue<Slider>().Value
< mana && MainMenu.Menu.Item("nukesToggler").GetValue<AbilityToggler>().IsEnabled(name)
&& Nukes.NukesMenuDictionary[name].Item(name + "herotoggler")
.GetValue<HeroToggler>()
.IsEnabled(NameManager.Name(target))
&& (etherealHitTime < (Environment.TickCount + ability.GetHitDelay(target, name) * 1000))
&& target.Health
> Nukes.NukesMenuDictionary[name].Item(NameManager.Name(ability) + "minhealthslider")
.GetValue<Slider>()
.Value)
{
var target1 =
AllyHeroes.UsableHeroes.Where(x => !x.IsMagicImmune())
.MinOrDefault(x => x.Distance2D(target));
if (target1 != null && ability.CanHit(target1, MyHeroInfo.Position, name)
&& target1.PredictedPosition().Distance2D(target.PredictedPosition())
< ability.GetRadius(name)
&& target1.PredictedPosition()
.Distance2D(
target.PredictedPosition(
ability.FindCastPoint(NameManager.Name(ability))))
< ability.GetRadius(name))
{
if (Nuke.Cast(ability, target1, name))
{
Utils.Sleep(
示例2: AutoUsage
public static bool AutoUsage(
Hero enemyHero,
Hero[] enemyHeroes,
float meMissingHp,
float ping,
Hero me,
float mana)
{
var hero = enemyHero;
var heroName = NameManager.Name(hero);
var heroDistance = MyHeroInfo.Position.Distance2D(hero);
if (Utils.SleepCheck("GlobalCasting") && Utils.SleepCheck("casting"))
{
if (me.ClassID == ClassID.CDOTA_Unit_Hero_Tusk
&& Dictionaries.InDamageDictionary.ContainsKey(hero.Handle)
&& (Dictionaries.OutDamageDictionary[hero.Handle] + Dictionaries.InDamageDictionary[hero.Handle])
>= enemyHero.Health && Utils.SleepCheck("tusk_snowball") && heroDistance <= 1350
&& me.FindSpell("tusk_snowball").CanBeCasted())
{
if (!Nuke.Cast(me.FindSpell("tusk_snowball"), hero, "tusk_snowball"))
{
return false;
}
DelayAction.Add(
new DelayActionItem(300, () => { AbilityMain.LaunchSnowball(); }, CancellationToken.None));
Utils.Sleep(100 + me.GetTurnTime(hero) * 1000 + ping, "tusk_snowball");
Utils.Sleep(me.GetTurnTime(hero) * 1000 + (heroDistance / 675) * 1000 + 100, "GlobalCasting");
Utils.Sleep(me.GetTurnTime(hero) * 1000 + (heroDistance / 675) * 1000 + 100, "calculate");
Utils.Sleep(me.GetTurnTime(hero) * 1000 + (heroDistance / 675) * 1000, "cancelorder");
return true;
}
foreach (var data in
MyAbilities.OffensiveAbilities.Where(
x =>
x.Value.IsValid
&& (x.Value.CanBeCasted()
|| (x.Value.CanBeCasted(SoulRing.ManaGained) && SoulRing.Check(x.Value)))
&& ((x.Value is Item && me.CanUseItems()) || (!(x.Value is Item) && me.CanCast()))
&& (Utils.SleepCheck(x.Value.Handle.ToString())
|| (!x.Value.IsInAbilityPhase && x.Value.FindCastPoint() > 0)))
.OrderBy(x => ComboOrder.GetAbilityOrder(x.Value)))
{
var ability = data.Value;
var name = NameManager.Name(ability);
var category = data.Key.Substring(name.Length);
var handleString = ability.Handle.ToString();
if (category != "buff" && hero.IsMagicImmune() && ability.ImmunityType != (ImmunityType)3)
{
continue;
}
if (!CastingChecks.All(name, hero))
{
continue;
}
var delay = ability.GetCastDelay(me, hero, useCastPoint: false, abilityName: name) * 1000;
var canHit = ability.CanHit(hero, MyHeroInfo.Position, name);
if (name == "omniknight_purification")
{
if (Nukes.NukesMenuDictionary[name].Item(name + "minManaCheck").GetValue<Slider>().Value < mana
&& MainMenu.Menu.Item("nukesToggler").GetValue<AbilityToggler>().IsEnabled(name)
&& Nukes.NukesMenuDictionary[name].Item(name + "herotoggler")
.GetValue<HeroToggler>()
.IsEnabled(heroName)
&& (etherealHitTime < (Environment.TickCount + ability.GetHitDelay(hero, name) * 1000))
&& hero.Health
> Nukes.NukesMenuDictionary[name].Item(NameManager.Name(ability) + "minhealthslider")
.GetValue<Slider>()
.Value && CastingChecks.Killsteal(ability, hero, name))
{
var target = FindPurificationTarget(hero);
if (target != null && ability.CanHit(target, MyHeroInfo.Position, name)
&& target.PredictedPosition().Distance2D(hero.PredictedPosition())
< ability.GetRadius(name)
&& target.PredictedPosition()
.Distance2D(
hero.PredictedPosition(ability.FindCastPoint(NameManager.Name(ability))))
< ability.GetRadius(name))
{
if (Nuke.Cast(ability, target, name))
{
Utils.Sleep(
ability.GetCastDelay(me, hero, abilityName: name) * 1000 + ping + 100,
handleString);
Utils.Sleep(delay, "GlobalCasting");
Utils.Sleep(delay, "cancelorder");
// Utils.Sleep(ping, "killsteal");
return true;
}
}
}
return false;
}
//.........这里部分代码省略.........
示例3: DeffensiveAutoUsage
public static bool DeffensiveAutoUsage(Hero allyHero, Hero me, Hero[] enemyHeroes, float ping)
{
var hero = allyHero;
var heroName = NameManager.Name(hero);
// var heroDistance = position.Distance2D(hero);
var heroMissingHp = hero.MaximumHealth - hero.Health;
var heroMissingMana = hero.MaximumMana - hero.Mana;
var heroManaPercentage = (hero.Mana / hero.MaximumMana) * 100;
var heroHpPercentage = ((float)hero.Health / hero.MaximumHealth) * 100;
foreach (var data in
MyAbilities.DeffensiveAbilities.Where(
x =>
(x.Value.IsValid
&& (x.Value.CanBeCasted() || (x.Value.CanBeCasted(SoulRing.ManaGained) && SoulRing.Check(x.Value)))
&& ((x.Value is Item && me.CanUseItems()) || (!(x.Value is Item) && me.CanCast()))
&& (Utils.SleepCheck(x.Value.Handle.ToString())
|| (!x.Value.IsInAbilityPhase && x.Value.FindCastPoint() > 0)))))
{
var ability = data.Value;
var name = NameManager.Name(ability);
if (name == "item_soul_ring")
{
continue;
}
if (hero.IsMagicImmune() && ability.ImmunityType != (ImmunityType)1)
{
continue;
}
var category = data.Key.Substring(name.Length);
var handleString = ability.Handle.ToString();
if (!CastingChecks.All(name, hero))
{
continue;
}
var delay = ability.GetCastDelay(me, hero, abilityName: name) * 1000;
var canHit = ability.CanHit(hero, MyHeroInfo.Position, name);
if (category == "heal" && !hero.HasModifier("modifier_ice_blast")
&& MainMenu.Menu.Item("healsToggler").GetValue<AbilityToggler>().IsEnabled(name)
&& ((!(name == "item_soul_ring" || name == "item_magic_wand" || name == "item_magic_stick")
&& Heals.HealsMenuDictionary[name].Item(name + "useonallies")
.GetValue<HeroToggler>()
.IsEnabled(heroName)) || hero.Equals(AbilityMain.Me)) && canHit
&& (name == "item_arcane_boots"
? (Heals.HealsMenuDictionary[name].Item(name + "missingmanamin").GetValue<Slider>().Value
< heroMissingMana
&& Heals.HealsMenuDictionary[name].Item(name + "manapercentbelow")
.GetValue<Slider>()
.Value > heroManaPercentage
&& (!AllyHeroes.Heroes.Any(
x =>
!x.Equals(hero)
&& Heals.HealsMenuDictionary[name].Item(name + "useonallies")
.GetValue<HeroToggler>()
.IsEnabled(x.Name)
&& x.Distance2D(AbilityMain.Me)
< Heals.HealsMenuDictionary[name].Item(name + "waitrange").GetValue<Slider>().Value
&& !ability.CanHit(x, MyHeroInfo.Position))))
: (Heals.HealsMenuDictionary[name].Item(name + "missinghpmin").GetValue<Slider>().Value
< heroMissingHp
&& Heals.HealsMenuDictionary[name].Item(name + "hppercentbelow").GetValue<Slider>().Value
> heroHpPercentage))
&& (name == "item_urn_of_shadows"
? (!enemyHeroes.Any(x => x.Distance2D(hero) < Math.Max(x.GetAttackRange(), 500))
&& !hero.HasModifiers(
new[]
{
"modifier_doom_bringer_doom", "modifier_axe_battle_hunger",
"modifier_queenofpain_shadow_strike", "modifier_phoenix_fire_spirit_burn",
"modifier_venomancer_poison_nova", "modifier_venomancer_venomous_gale"
},
false))
: (name == "item_arcane_boots"
|| (enemyHeroes.Count(
x =>
(!Heals.HealsMenuDictionary[name].Item(name + "usenearbool").GetValue<bool>()
|| Heals.HealsMenuDictionary[name].Item(name + "usenear")
.GetValue<HeroToggler>()
.IsEnabled(NameManager.Name(x)))
&& (x.Distance2D(hero) < Math.Max(x.GetAttackRange(), 700))) - 1
>= Heals.HealsMenuDictionary[name].Item(name + "minenemiesaround")
.GetValue<StringList>()
.SelectedIndex)))
&& (name != "omniknight_purification" || hero.Health < hero.MaximumHealth * 0.22
|| enemyHeroes.Any(
x => x.Predict(Game.Ping).Distance2D(hero.Predict(Game.Ping)) <= ability.GetRadius(name)))
&& (!(name == "item_mekansm" || name == "item_guardian_greaves" || name == "chen_hand_of_god")
|| ((!AllyHeroes.Heroes.Any(
x =>
!x.Equals(hero)
&& Heals.HealsMenuDictionary[name].Item(name + "useonallies")
.GetValue<HeroToggler>()
.IsEnabled(x.Name)
&& x.Distance2D(AbilityMain.Me)
< Heals.HealsMenuDictionary[name].Item(name + "waitrange").GetValue<Slider>().Value
&& !ability.CanHit(x, MyHeroInfo.Position)))
&& Heals.HealsMenuDictionary[name].Item(name + "minalliesheal")
//.........这里部分代码省略.........
示例4: KillSteal
public static bool KillSteal(Hero[] enemyHeroes, float ping, Hero me)
{
var possibleTarget =
enemyHeroes.FirstOrDefault(
hero =>
Utils.SleepCheck(hero.Handle + "KillSteal")
&& Dictionaries.InDamageDictionary.ContainsKey(hero.Handle)
&& Dictionaries.InDamageDictionary[hero.Handle] >= hero.Health);
if (possibleTarget != null && possibleTarget.CanDie() && MyAbilities.NukesCombo.Any())
{
if (Dictionaries.InDamageDictionary[possibleTarget.Handle] >= possibleTarget.Health)
{
foreach (var ability in from ability in MyAbilities.NukesCombo.OrderBy(ComboOrder.GetAbilityOrder)
where
ability != null
&& (ability.CanBeCasted()
|| (ability.CanBeCasted(SoulRing.ManaGained)
&& SoulRing.Check(ability)))
&& (Utils.SleepCheck(ability.Handle.ToString())
|| (!ability.IsInAbilityPhase && ability.FindCastPoint() > 0))
select ability)
{
var name = NameManager.Name(ability);
var handleString = ability.Handle.ToString();
if (etherealHitTime
>= (Environment.TickCount + ability.GetHitDelay(possibleTarget, name) * 1000))
{
continue;
}
if (name == "omniknight_purification")
{
if (MainMenu.Menu.Item("nukesToggler").GetValue<AbilityToggler>().IsEnabled(name)
&& Nukes.NukesMenuDictionary[name].Item(name + "herotoggler")
.GetValue<HeroToggler>()
.IsEnabled(NameManager.Name(possibleTarget))
&& (etherealHitTime
< (Environment.TickCount + ability.GetHitDelay(possibleTarget, name) * 1000))
&& possibleTarget.Health
> Nukes.NukesMenuDictionary[name].Item(NameManager.Name(ability) + "minhealthslider")
.GetValue<Slider>()
.Value)
{
var target = FindPurificationTarget(possibleTarget);
if (target != null
&& target.PredictedPosition().Distance2D(possibleTarget.PredictedPosition())
< ability.GetRadius(name)
&& target.PredictedPosition()
.Distance2D(
possibleTarget.PredictedPosition(
ability.FindCastPoint(NameManager.Name(ability))))
< ability.GetRadius(name))
{
if (Nuke.Cast(ability, target, name))
{
Utils.Sleep(
ability.GetCastDelay(me, possibleTarget, abilityName: name) * 1000 + ping
+ 100,
handleString);
Utils.Sleep(
ability.GetCastDelay(me, possibleTarget, abilityName: name) * 1000,
"GlobalCasting");
Utils.Sleep(ability.GetHitDelay(possibleTarget, name) * 1000, "calculate");
Utils.Sleep(
ability.GetCastDelay(
me,
possibleTarget,
useCastPoint: false,
abilityName: name) * 1000,
// + (Math.Max(Me.Distance2D(possibleTarget) - ability.GetCastRange(name) - 50, 0)
// / Me.MovementSpeed) * 1000,
"casting");
Utils.Sleep(
ability.GetCastDelay(me, possibleTarget, abilityName: name) * 1000,
"cancelorder");
// Utils.Sleep(ping, "killsteal");
return true;
}
}
}
return false;
}
if (possibleTarget.Health - dealtDamage <= 0
|| possibleTarget.Health - dealtDamage
< Nukes.NukesMenuDictionary[name].Item(name + "minhealthslider").GetValue<Slider>().Value)
{
Utils.Sleep(500, possibleTarget.Handle + "KillSteal");
dealtDamage = 0;
return false;
}
if (!ability.CanHit(possibleTarget, MyHeroInfo.Position, name)
|| (name == "zuus_thundergods_wrath"
&& (1
+ enemyHeroes.Count(
x =>
//.........这里部分代码省略.........