sdsandbox-rl-scripts/Scripts/camera/RaceCamera.cs

43 lines
1.3 KiB
C#
Executable File

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class RaceCamera : MonoBehaviour
{
RaceCameras raceCameras;
public CameraTrigger cameraTrigger;
public Camera camera;
public int index;
void Awake()
{
GameObject goCamChild = new GameObject(string.Format("Camera"));
goCamChild.transform.SetParent(transform);
camera = goCamChild.AddComponent<Camera>();
camera.enabled = false;
camera.fieldOfView = 90;
GameObject goTriggerChild = new GameObject(string.Format("Cam Trigger"));
goTriggerChild.transform.SetParent(transform);
cameraTrigger = goTriggerChild.AddComponent<CameraTrigger>();
raceCameras = transform.GetComponentInParent<RaceCameras>();
}
public void SetCameraTrigger(Vector3 position, Quaternion rotation, Vector3 scale)
{
cameraTrigger.setBoxCollider(position, rotation, scale);
}
public void SetCam(Vector3 position, Vector3 lookAt)
{
camera.transform.position = position;
camera.transform.rotation = Quaternion.LookRotation(lookAt - position, Vector3.up);
}
public void CameraTriggered(Collider col)
{
raceCameras.CameraTriggered(col, camera, index);
}
}