public IEnumerable <T> GetNearPartymembers <T>(Vector3 position, double distance) where T : WowUnit { lock (queryLock) { return(wowObjects.OfType <T>() .Where(e => !e.IsDead && !e.IsNotAttackable && (PartymemberGuids.Contains(e.Guid) || PartyPetGuids.Contains(e.Guid)) && e.Position.GetDistance(position) < distance)); } }
public IEnumerable <T> GetEnemiesTargetingPartymembers <T>(Vector3 position, double distance) where T : WowUnit { lock (queryLock) { return(GetNearEnemies <T>(position, distance) .Where(e => e.IsInCombat && (PartymemberGuids.Contains(e.TargetGuid) || PartyPetGuids.Contains(e.TargetGuid)))); } }