/// <summary> /// Destroy, and free memory. /// </summary> public void Destroy() { _closedSet.Clear(); _openSet.Clear(); _closedSet = null; _openSet = null; _aStarGrid = null; }
/// <summary> /// Create a new A* path. /// </summary> /// <param name="aStarGrid">The aStarGrid the path is on.</param> /// <param name="start">The starting point on the aStarGrid.</param> /// <param name="end">The ending point on the aStarGrid.</param> /// <param name="diagonalMovement">Whether diagonal movement is allowed.</param> public AStarPath(AStarGrid aStarGrid, Vector2 start, Vector2 end, bool diagonalMovement = true) { _openSet = new HashSet <AStarNode>(); _closedSet = new HashSet <AStarNode>(); _aStarGrid = aStarGrid; Diagonal = diagonalMovement; Reset(start, end); }