Whats wrong with Camera.main.ScreenToWorldPoint(Input.mousePosition)?

Options

public float rz;

  public GameObject MyPlayer;

  public SpriteRenderer sr;

  public PhotonView view;

  private void Start()

  {

    view = GetComponent<PhotonView>();

  }


  private void Update()

  {

    moveSword();

  }

  [PunRPC]

  void moveSword()

  {


    Vector3 diffrence = Camera.main.ScreenToWorldPoint(Input.mousePosition) - transform.position;

    diffrence.Normalize();


    float rotationz = Mathf.Atan2(diffrence.y, diffrence.x) * Mathf.Rad2Deg;

    rz = rotationz;

    transform.rotation = Quaternion.Euler(0f, 0f, rotationz - 90);


    if (rotationz < 180 && rotationz > 0)

    {

      sr.sortingOrder = -5;

    }

    else

    {

      sr.sortingOrder = 1;

    }

    if (rotationz < -90 || rotationz > 90)

    {




      if (MyPlayer.transform.eulerAngles.y == 0)

      {



        transform.localRotation = Quaternion.Euler(180, 0, -rotationz - 90);



      }

      else if (MyPlayer.transform.eulerAngles.y == 180)

      {



        transform.localRotation = Quaternion.Euler(180, 180, -rotationz - 90);



      }


    }


  }

Answers