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); }
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); }
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]; }