using UnityEngine;
using Opsive.UltimateCharacterController.ThirdPersonController.Camera.ViewTypes;
using Opsive.UltimateCharacterController.Input;
using Opsive.UltimateCharacterController.Utility;
public class SnapAim : Pseudo3D
{
private PlayerInput m_PlayerInput;
public override void AttachCharacter(GameObject character)
{
base.AttachCharacter(character);
if (m_Character == null) {
m_PlayerInput = null;
} else {
m_PlayerInput = m_Character.GetCachedComponent<PlayerInput>();
}
}
public override Vector3 LookDirection(Vector3 lookPosition, bool characterLookDirection, int layerMask, bool useRecoil)
{
var direction = Vector3.zero;
direction.x = m_PlayerInput.GetAxis(m_PlayerInput.HorizontalLookInputName);
direction.y = -m_PlayerInput.GetAxis(m_PlayerInput.VerticalLookInputName);
return direction.sqrMagnitude > 0.1f ? direction : m_CharacterTransform.forward;
}
}