Пример #1
0
 private void LinkNodeDirectionNotWall(ref PathNode node, int x, int y, PathNode.DirectionNode direction)
 {
     if (!_board.HasWallAt(x, y))
     {
         var hash = BoardPointStringPosition.Get(x, y);
         if (_pointToNode.ContainsKey(hash))
         {
             node.Link(_pointToNode[hash], direction);
         }
     }
 }
Пример #2
0
        private void LinkNodeDiagonalDirectionWall(ref PathNode node, int x, int y, PathNode.DirectionNode direction)
        {
            if (!_board.IsOutOfBoard(x, y))
            {
                var element = _board.GetAt(x, y);
                switch (element)
                {
                case BoardElement.Brick:
                    var hash = BoardPointStringPosition.Get(x, y);
                    if (_pointToNode.ContainsKey(hash))
                    {
                        node.Link(_pointToNode[hash], direction);
                    }
                    break;

                default:
                    return;
                }
            }
        }