private IActor[] CheckForIntruders(IActor actor) { var foundIntruders = new List <IActor>(); foreach (var target in _actorManager.Items) { if (target.Owner == actor.Owner) { continue; } if (target.Person.Survival.IsDead) { continue; } var isVisible = LogicHelper.CheckTargetVisible(_map, actor.Node, target.Node); if (!isVisible) { continue; } foundIntruders.Add(target); } return(foundIntruders.ToArray()); }
private static IEnumerable <IActor> CheckForIntruders(IActor actor, ISectorMap map, IActorManager actorManager) { foreach (var target in actorManager.Items) { if (target.Person.Fraction == actor.Person.Fraction || (target.Person.Fraction == Fractions.MilitiaFraction && actor.Person.Fraction == Fractions.MainPersonFraction) || (target.Person.Fraction == Fractions.MainPersonFraction && actor.Person.Fraction == Fractions.MilitiaFraction) || (target.Person.Fraction == Fractions.InterventionistFraction && actor.Person.Fraction == Fractions.TroublemakerFraction) || (target.Person.Fraction == Fractions.TroublemakerFraction && actor.Person.Fraction == Fractions.InterventionistFraction)) { continue; } if (target.Person.CheckIsDead()) { continue; } var isVisible = LogicHelper.CheckTargetVisible(map, actor.Node, target.Node); if (!isVisible) { continue; } yield return(target); } }
private IEnumerable <IActor> CheckForIntruders(IActor actor) { foreach (var target in _actorManager.Items) { if (target.Owner == actor.Owner) { continue; } if (target.Person.Survival.IsDead) { continue; } var isVisible = LogicHelper.CheckTargetVisible(_map, actor.Node, target.Node); if (!isVisible) { continue; } yield return(target); } }