Esempio n. 1
0
    private void Update()
    {
        RoomInformation startingRoom = null;

        startingRoom = GetRoomInformationForLocation(this.transform.position);
        if (startingRoom == null)
        {
            startingRoom = traversalGraphHolder.GetClosestGenerator(this.transform.position)?.containedRoom;
        }
        RoomInformation endingRoom = null;

        endingRoom = GetRoomInformationForLocation(end.position);
        if (endingRoom == null)
        {
            endingRoom = traversalGraphHolder.GetClosestGenerator(end.position)?.containedRoom;
        }

        // ReSharper disable once ConditionIsAlwaysTrueOrFalse
        if (startingRoom != null && endingRoom != null)
        // ReSharper disable once HeuristicUnreachableCode
        {
            path = LevelOfDetailNavigationSolver.GetLODPath(this.transform.position, end.position,
                                                            startingRoom, endingRoom, graphNavigation);
        }
    }
Esempio n. 2
0
    private void Update()
    {
        if (startingGenerator == null)
        {
            startingGenerator = FindObjectOfType <TraversalGenerator>();
        }
        if (getRandomPoint)
        {
            selectedLine = traversalHolder.GetRandomLine();
        }

        gen = traversalHolder.GetClosestGenerator(end.position);
        if (gen)
        {
            Vertex vert = traversalHolder.GetMiddleLineForCurrentGenerator(gen).vertex;
            path = navMesh.GetPathFromTo(traversalHolder.GetMiddleLineForCurrentGenerator(startingGenerator).vertex, vert);
        }
    }