Files
beyond/Assets/ThirdParty/Invector-3rdPersonController/Basic Locomotion/Scripts/Generic/Triggers/vChangeCameraAngleTrigger.cs
2024-11-20 15:21:28 +01:00

46 lines
1.3 KiB
C#

using System.Collections;
using UnityEngine;
namespace Invector.vCamera
{
public class vChangeCameraAngleTrigger : MonoBehaviour
{
public bool applyY, applyX;
public Vector2 angle;
public vThirdPersonCamera tpCamera;
public bool useSelfWorldAngle;
private void OnDrawGizmos()
{
if(useSelfWorldAngle)
{
angle.x = transform.eulerAngles.y;
angle.y = transform.eulerAngles.x;
}
}
IEnumerator Start()
{
tpCamera = FindObjectOfType<vThirdPersonCamera>();
var collider = GetComponent<Collider>();
if (collider)
{
collider.isTrigger = true;
collider.enabled = false;
yield return new WaitForEndOfFrame();
collider.enabled = true;
}
}
void OnTriggerEnter(Collider other)
{
if (other.gameObject.CompareTag("Player") && tpCamera)
{
if (applyX)
tpCamera.lerpState.fixedAngle.x = angle.x;
if (applyY)
tpCamera.lerpState.fixedAngle.y = angle.y;
}
}
}
}