using UnityEngine;
using UnityEngine.InputSystem;

public class MouseLook : MonoBehaviour
{
    public float mouseSensitivity = 100f;
    public Transform playerBody; // Tu przeciągniesz Fasolkę (Player)

    private float xRotation = 0f;
    public bool canLook = false; // Zablokujemy obracanie przed startem

    public void EnableLooking()
    {
        canLook = true;
        // Blokujemy kursor na środku ekranu i go chowamy
        Cursor.lockState = CursorLockMode.Locked;
    }

    void Update()
    {
        if (!canLook) return;

        if (Mouse.current == null)
        {
            Debug.LogError("Brak myszki!");
            return;
        }

        Vector2 mouseDelta = Mouse.current.delta.ReadValue();

        // Jeśli to zobaczysz w konsoli, znaczy że system działa, a problem jest w skali
        if (mouseDelta != Vector2.zero)
        {
            //Debug.Log($"Ruch myszy: {mouseDelta}");
        }

        float mouseX = mouseDelta.x * mouseSensitivity * 0.1f; // Zmniejszyłem mnożnik dla testu
        float mouseY = mouseDelta.y * mouseSensitivity * 0.1f;

        xRotation -= mouseY;
        xRotation = Mathf.Clamp(xRotation, -90f, 90f);

        transform.localRotation = Quaternion.Euler(xRotation, 0f, 0f);
        playerBody.Rotate(Vector3.up * mouseX);
    }
}