Unity не поянтка в коде

Я хочу чтобы игрок когда двигался в право, смотрел тоже в право, когда в лево, соответственно смотрел также в лево, но он переворачивается только если координат X больше или меньше нуля

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PlayerController : MonoBehaviour
{
    public Transform Player;
    public float Speed;
    private Vector2 moveInput;
    private bool facingRight;

    private void OnMouseDrag()
    {
        Vector3 mousePos = Camera.main.ScreenToWorldPoint (Input.mousePosition);
        mousePos.x = mousePos.x > 7.75f ? 7.75f : mousePos.x;
        mousePos.x = mousePos.x < -7.75f ? -7.75f : mousePos.x;
        Player.position = Vector2.MoveTowards(Player.position, new Vector2(mousePos.x, Player.position.y), Speed * Time.deltaTime);
    }

    private void Update()
    {
        moveInput = new Vector2(Player.position.x, Player.position.y);
        
        if(!facingRight && moveInput.x < 0)
        {
            Flip();
        }
        else if (facingRight && moveInput.x > 0)
        {
            Flip();
        }
    }

    private void Flip()
    {
        facingRight = !facingRight;
        Vector3 Scaler = transform.localScale;
        Scaler.x *= -1;
        transform.localScale = Scaler;
    }
}

Х чего? Точно смотрели его значения?)
Тут moveInput это ж просто текущая позиция, а не направление.

А как сделать чтоб это было напрваление?

Смотря что надо :person_shrugging:

Например, иметь переменную с предыдущей позицией, и сравнивать с текущей.

Или при нажатии кнопки игроком определять.
Видимо тут

скорее всего надо убрать moveInput и написать так

    if (!facingRight && mousePos.x < 0)
    {
        Flip();
    }
    else if (facingRight && mousePos.x > 0)
    {
        Flip();
    }

да, этот код работает