public JobNode(Vector2Int gridPosition) { GridPosition = gridPosition; CanWalk = true; Neighbour1 = new JobNeighbour(); Neighbour2 = new JobNeighbour(); Neighbour3 = new JobNeighbour(); Neighbour4 = new JobNeighbour(); Neighbour5 = new JobNeighbour(); Neighbour6 = new JobNeighbour(); Neighbour7 = new JobNeighbour(); Neighbour8 = new JobNeighbour(); }
private void IsClosestNeighbour(JobNeighbour neighbour, ref JobNode currentNode, out bool hasChanged) { if (!neighbour.CanWalk) { hasChanged = false; return; } if ((TargetPos - neighbour.GridPosition).sqrMagnitude < (TargetPos - currentNode.GridPosition).sqrMagnitude && Randomizer.NextInt(0, 3) == 0) { hasChanged = true; currentNode = Map[neighbour.GridPosition.y * MapSizeX + neighbour.GridPosition.x]; } hasChanged = false; }