using UnityEngine; namespace OnlyScove.Scripts { [System.Serializable] public class CameraCollisionHandler { [Header("Collision Settings")] [SerializeField] private LayerMask collisionLayers; [SerializeField] private float cameraRadius = 0.2f; public float CheckCollision(Vector3 focusPosition, Quaternion currentRotation, float targetDistance, float minimumDistanceAllowed) { RaycastHit hit; Vector3 rayStart = focusPosition; Vector3 rayDirection = currentRotation * Vector3.back; if (Physics.SphereCast(rayStart, cameraRadius, rayDirection, out hit, targetDistance, collisionLayers)) { return Mathf.Max(minimumDistanceAllowed, hit.distance - 0.1f); } return targetDistance; } } }