Exemplo n.º 1
0
 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();
 }
Exemplo n.º 2
0
    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;
    }