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

49 lines
1.1 KiB
C#

using UnityEngine;
public class OrbitCameraByPlayer : MonoBehaviour
{
private Transform Player;
public Vector3 offset;
public float rotateSpeed = 1f;
private Camera thisCamera;
private float startFieldOfView;
public bool isClose;
private void Start()
{
if (FScriptsHandler.Instance == null)
{
Object.Destroy(base.gameObject.GetComponent<OrbitCameraByPlayer>());
return;
}
thisCamera = GetComponent<Camera>();
Player = FScriptsHandler.Instance.m_PlayerMain.transform;
base.transform.position = Player.transform.position + offset;
startFieldOfView = thisCamera.fieldOfView;
}
private void LateUpdate()
{
base.transform.LookAt(Player);
base.transform.Translate(Vector3.right * Time.fixedUnscaledDeltaTime * rotateSpeed);
if (!isClose)
{
thisCamera.fieldOfView = Mathf.Lerp(thisCamera.fieldOfView, 20f, Time.fixedUnscaledDeltaTime);
}
else
{
thisCamera.fieldOfView = Mathf.Lerp(thisCamera.fieldOfView, startFieldOfView, Time.fixedUnscaledDeltaTime * 3f);
}
}
public void UpdatePlayerPosition()
{
base.transform.position = Player.transform.position + offset;
}
}