private void OnTriggerStay(Collider other)
 {
     if (other.gameObject.name == "room")
     {
         currentRoom = other.gameObject.GetComponent <NavRoom>();
         StartCoroutine(AddToPathMemory());
     }
 }
    public NavRoom GetHighestWeightRoom(Transform target, Queue <NavRoom> pathMemory)
    {
        NavRoom lowestWeightRoom = new NavRoom();
        float   lastLowestWeight = Mathf.Infinity;

        for (int i = 0; i < connectedRooms.Count; i++)
        {
            if (connectedRooms[i].GetWeight(target) < lastLowestWeight && !pathMemory.Contains(connectedRooms[i]))
            {
                lastLowestWeight = connectedRooms[i].GetWeight(target);
                lowestWeightRoom = connectedRooms[i];
            }
        }

        return(lowestWeightRoom);
    }
Пример #3
0
    private Transform GetNavTarget()
    {
        Transform navTarget;

        NavRoom bestRoom = currentRoom.GetHighestWeightRoom(target.transform, pathMemory);

        if (bestRoom != null)
        {
            navTarget = bestRoom.transform;
        }
        else
        {
            navTarget = currentRoom.transform;
        }

        return(navTarget);
    }
    private Transform GetNavTarget()
    {
        Transform navTarget;

        NavRoom bestRoom = currentRoom.GetHighestWeightRoom(target.transform, pathMemory);

        if (bestRoom != null)////Nullcheck om errors te verwijderen in AI vs AI
        {
            navTarget = bestRoom.transform;
        }
        else
        {
            navTarget = currentRoom.transform;
        }


        return(navTarget);
    }
Пример #5
0
    public MapInfo(MapSize size)
    {
        rows  = 3; cols = 3;
        rooms = new Room[rows, cols];

        rooms[0, 0] = new NavRoom();
        rooms[0, 1] = new NavRoom();
        rooms[0, 2] = new TrapRoom();

        rooms[1, 1] = new CombatRoom();

        rooms[2, 1] = new NavRoom();
        rooms[2, 0] = new TrapRoom();
        rooms[2, 2] = new NavRoom();

        currRow   = 0; currCol = 0;
        startRoom = rooms[currRow, currCol];

        endRoom = rooms[2, 2];
    }