///Adds a PolyNavObstacle to the map. void AddObstacle(PolyNavObstacle navObstacle) { if (!navObstacles.Contains(navObstacle)) { navObstacles.Add(navObstacle); regenerateFlag = true; } }
///Removes a PolyNavObstacle from the map. void RemoveObstacle(PolyNavObstacle navObstacle) { if (navObstacles.Contains(navObstacle)) { navObstacles.Remove(navObstacle); regenerateFlag = true; } }
void MonitorObstacle(PolyNavObstacle obstacle, bool active) { if (obstaclesMask == (obstaclesMask | 1 << obstacle.gameObject.layer)) { if (active) { AddObstacle(obstacle); } else { RemoveObstacle(obstacle); } } }