public ShipObstacleDistance(GenericShip ship, GenericObstacle obstacle) { CollisionDetectionQuality currentQuality = ObstaclesManager.CollisionDetectionQuality; ObstaclesManager.SetObstaclesCollisionDetectionQuality(CollisionDetectionQuality.Low); Ship = ship; Obstacle = obstacle; if (!CheckDistanceSimple()) { CheckDistanceAdvanced(); } ObstaclesManager.SetObstaclesCollisionDetectionQuality(currentQuality); }
public static void SetObstaclesCollisionDetectionQuality(CollisionDetectionQuality quality) { CollisionDetectionQuality = quality; if (quality == CollisionDetectionQuality.High) { foreach (GenericObstacle obstacle in Instance.ChosenObstacles) { obstacle.ObstacleGO.GetComponentInChildren <MeshCollider>().isTrigger = false; obstacle.ObstacleGO.GetComponentInChildren <MeshCollider>().convex = false; } } else { foreach (GenericObstacle obstacle in Instance.ChosenObstacles) { obstacle.ObstacleGO.GetComponentInChildren <MeshCollider>().convex = true; obstacle.ObstacleGO.GetComponentInChildren <MeshCollider>().isTrigger = true; } } }