Files
UltimateFishing2020/Assets/Scripts/Assembly-CSharp/DoorOpenNew.cs
2026-03-04 10:03:45 +08:00

49 lines
1.1 KiB
C#

using UnityEngine;
public class DoorOpenNew : MonoBehaviour
{
public float smooth = 1f;
public float angle = 90f;
public Camera cam;
public float RayDistance = 1.7f;
public float maxD = 1.7f;
private Ray ray;
public bool open;
private Quaternion start;
private Quaternion end;
private void Start()
{
start = Quaternion.Euler(base.transform.rotation.eulerAngles.x, 0f, base.transform.rotation.eulerAngles.z);
end = Quaternion.Euler(base.transform.rotation.eulerAngles.x, 0f - angle, base.transform.rotation.eulerAngles.z);
}
private void Update()
{
if (open)
{
base.transform.rotation = Quaternion.Slerp(base.transform.rotation, end, Time.deltaTime * smooth);
}
else
{
base.transform.rotation = Quaternion.Slerp(base.transform.rotation, start, Time.deltaTime * smooth);
}
if (Input.GetKeyDown("f"))
{
ray = cam.ScreenPointToRay(Input.mousePosition);
if (Physics.Raycast(ray, out var hitInfo, RayDistance) && hitInfo.transform.tag == "Door" && Vector3.Distance(hitInfo.transform.position, base.transform.position) < maxD)
{
open = !open;
}
}
}
}