UnityGameProjectsCode / InTheDarkGame / Player / LookAtMouse.cs
LookAtMouse.cs
Raw
using UnityEngine;

public class LookAtMouse : MonoBehaviour
{
    private Vector2 mousePos;
    private Rigidbody2D rb;
    private bool stopFollowing;

    private void Awake()
    {
        rb = GetComponent<Rigidbody2D>();
    }

    private void Update()
    {
        if (!stopFollowing)
        {
            mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition);

            Vector2 lookDirection = mousePos - rb.position;
            float angle = Mathf.Atan2(lookDirection.y, lookDirection.x) * Mathf.Rad2Deg - 90f;
            rb.rotation = angle;
        }
    }

    public void SetFollowingState(bool state)
    {
        stopFollowing = state;
    }
}