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); } } } }