public bool IsThereLineOfSight(Figure from, Figure to, bool ignoreMonsters) { Contract.Requires(from != null); Contract.Requires(to != null); Point[] fromPoints = FullModel.Board.FigureSquares(from); Point[] toPoints = FullModel.Board.FigureSquares(to); foreach (Point fromPoint in fromPoints) { foreach (Point toPoint in toPoints) { if (IsThereLineOfSight(fromPoint, toPoint, ignoreMonsters)) return true; } } return false; }