public List <MapTile> CornerPeakFrom() { var peakList = new List <MapTile>(); foreach (var cardinal in DirectionExtensions.GetCardinals()) { foreach (var rightAngleDirection in DirectionExtensions.GetRightAngleDirections(cardinal)) { if (MoveBlocked[cardinal] && !GetAdjacentTile(rightAngleDirection).MoveBlocked[cardinal]) { peakList.Add(GetAdjacentTile(DirectionExtensions .GetDiagonalFromCardinals(cardinal, rightAngleDirection))); } } } return(peakList); }