using UnityEngine; namespace Cinemachine { /// <summary> /// This is a CinemachineComponent in the Aim section of the component pipeline. /// Its job is to aim the camera hard at the LookAt target. /// </summary> [DocumentationSorting(27, DocumentationSortingAttribute.Level.UserRef)] [AddComponentMenu("")] // Don't display in add component menu [RequireComponent(typeof(CinemachinePipeline))] [SaveDuringPlay] public class CinemachineSameAsFollowObject : CinemachineComponentBase { /// <summary>True if component is enabled and has a Follow target defined</summary> public override bool IsValid { get { return enabled && FollowTarget != null; } } /// <summary>Get the Cinemachine Pipeline stage that this component implements. /// Always returns the Aim stage</summary> public override CinemachineCore.Stage Stage { get { return CinemachineCore.Stage.Aim; } } /// <summary>Applies the composer rules and orients the camera accordingly</summary> /// <param name="curState">The current camera state</param> /// <param name="deltaTime">Used for calculating damping. If less than /// zero, then target will snap to the center of the dead zone.</param> public override void MutateCameraState(ref CameraState curState, float deltaTime) { if (IsValid) curState.RawOrientation = FollowTarget.transform.rotation; } } }