示例#1
0
 public void Init(IPathFindingRules pathFindingRules, AStarSearch search)
 {
     _pathFindingRules = pathFindingRules;
     _search           = search;
     UnBuild();
     Build();
 }
示例#2
0
        void Start()
        {
            _grid = new Node[_gridSizeY, _gridSizeX];

            _position = transform.position;

            Vector2 bottomLeftCell = GetBottomLeftCellCenter();

            for (var y = 0; y < _gridSizeY; ++y)
            {
                for (var x = 0; x < _gridSizeX; ++x)
                {
                    Vector2 cellCenter     = bottomLeftCell + new Vector2(x * _cellSize, y * _cellSize);
                    bool    isOccupiedCell = IsOccupiedCell(cellCenter);
                    _grid[y, x] = new Node(!isOccupiedCell, cellCenter, x, y);
                }
            }

            _pathFindingRules = new PlatformerRules(_agent);
            _search           = new AStarSearch(this);
        }