void DetermineNewTarget() { Collider2D[] interactableObjects = Physics2D.OverlapCircleAll(transform.position, 10); //TODO: make sure this doesnt overlap with other maps Transform elevator = null; Mine m = GameData.Instance.playerMineLocations[playerID]; if ((m == Mine.IronMine && GameData.Instance.playerFloors[playerID][Mine.IronMine] == 0) || (m == Mine.JellyMine && GameData.Instance.playerFloors[playerID][Mine.JellyMine] == 0) || (m == Mine.IronMine && GameData.Instance.playerFloors[playerID][Mine.CoalMine] == 0)) { List <Collider2D> elevators = new List <Collider2D>(); for (int i = 0; i < interactableObjects.Length; i++) { if (interactableObjects[i].tag == "Elevator") { elevators.Add(interactableObjects[i]); } } elevator = AIManager.ChooseElevator(playerID, elevators); } if (elevator != null) { target = elevator; } else { TileType toSeek = AIManager.GetTileTypeToSeek(playerID, _isStuck); target = AIManager.GetTargetedTileTransformFromMap(interactableObjects, toSeek, playerID, transform); } if (target != null) { seeker.StartPath(rb.position, target.position, OnPathComplete); currentObj = target.gameObject; } }