public void CustomInterrupter_OnInterruptableTarget(Obj_AI_Hero sender, CustomInterrupter.InterruptableTargetEventArgs args) { if (sender == null || !sender.IsValidTarget()) { return; } if (Utils.TickCount - LastWCast < 2000) { return; } if (Menu.Item("WInterrupter").IsActive() && W.CanCast(sender) && W.CastOnUnit(sender)) { return; } if (!Menu.Item("RInterrupter").IsActive() || !R.IsReady()) { return; } if ( Allies.OrderBy(h => h.Distance(sender)) .Any(h => h.IsValidTarget(R.Range, false) && h.Distance(sender) < RRadius && R.CastOnUnit(h))) { } }
public void CustomInterrupter_OnInterruptableTarget(AIHeroClient sender, CustomInterrupter.InterruptableTargetEventArgs args) { if (sender == null || !sender.LSIsValidTarget()) { return; } if (Utils.TickCount - LastWCast < 2000) { return; } if (getCheckBoxItem(wMenu, "WInterrupter") && W.CanCast(sender) && W.CastOnUnit(sender)) { return; } if (!getCheckBoxItem(rMenu, "RInterrupter") || !R.IsReady()) { return; } if ( Allies.OrderBy(h => h.LSDistance(sender)) .Any(h => h.LSIsValidTarget(R.Range, false) && h.LSDistance(sender) < RRadius && R.CastOnUnit(h))) { } }
/// <summary> /// Chamado a cada frame se o <see cref="MonoBehaviour"/> está ativo /// </summary> public void Update() { Allies.RemoveAll(c => c.State == StateCharacter.Die); Enemies.RemoveAll(c => c.State == StateCharacter.Die); foreach (var ally in Allies) { ally.Target = Enemies.OrderBy(c => c.Self.DistanceTo(ally.Self)).FirstOrDefault(); } foreach (var enemy in Enemies) { enemy.Target = Allies.OrderBy(c => c.Self.DistanceTo(enemy.Self)).FirstOrDefault(); } }