using UnityEngine;
namespace Core.Camera
{
///
/// Simple class to set some initial state values for the camera
///
[RequireComponent(typeof(CameraRig))]
public class CameraInitialState : MonoBehaviour
{
public enum StartZoomMode
{
NoChange,
FurthestZoom,
NearestZoom
}
///
/// Determines the starting zoom level for the camera
///
public StartZoomMode startZoomMode;
///
/// Object for the camera to look at initially
///
public Transform initialLookAt;
///
/// On start, set camera parameters
///
protected virtual void Start()
{
var rig = GetComponent();
switch (startZoomMode)
{
case StartZoomMode.FurthestZoom:
rig.SetZoom(rig.furthestZoom);
break;
case StartZoomMode.NearestZoom:
rig.SetZoom(rig.nearestZoom);
break;
}
if (initialLookAt != null)
{
rig.PanTo(initialLookAt.transform.position);
}
}
}
}