Files
UltimateFishing/Assets/Scripts/Assembly-CSharp/MouseLookMobile.cs
2026-02-21 16:45:37 +08:00

57 lines
1.2 KiB
C#

using UnityEngine;
public class MouseLookMobile : MonoBehaviour
{
public enum RotationAxes
{
MouseXAndY = 0,
MouseX = 1,
MouseY = 2
}
public RotationAxes axes;
public float sensitivityX = 15f;
public float sensitivityY = 15f;
public float minimumX = -360f;
public float maximumX = 360f;
public float minimumY = -60f;
public float maximumY = 60f;
private float rotationY;
private void Update()
{
if (axes == RotationAxes.MouseXAndY)
{
float y = base.transform.localEulerAngles.y + Input.GetAxis("Mouse X") * sensitivityX;
rotationY += Input.GetAxis("Mouse Y") * sensitivityY;
rotationY = Mathf.Clamp(rotationY, minimumY, maximumY);
base.transform.localEulerAngles = new Vector3(0f - rotationY, y, 0f);
}
else if (axes == RotationAxes.MouseX)
{
base.transform.Rotate(0f, Input.GetAxis("Mouse X") * sensitivityX, 0f);
}
else
{
rotationY += Input.GetAxis("Mouse Y") * sensitivityY;
rotationY = Mathf.Clamp(rotationY, minimumY, maximumY);
base.transform.localEulerAngles = new Vector3(0f - rotationY, base.transform.localEulerAngles.y, 0f);
}
}
private void Start()
{
if ((bool)GetComponent<Rigidbody>())
{
GetComponent<Rigidbody>().freezeRotation = true;
}
}
}