public static void UpdatePath(this IEnemy enemyUnit, ICoordinates targetCoords, IMathFunctions math) { int visionRange = enemyUnit.GetVisionRange(); var lineOfSight = enemyUnit.GetLineTo(targetCoords, math).Take(visionRange); if (enemyUnit.CanSee(lineOfSight)) { enemyUnit.UpdatePath(lineOfSight.ToArray()); } }