// using System; // using UnityEditor; // using UnityEngine; // using UnityEngine.InputSystem; // using static scr_Models; // public class scr_FullCharacterController : MonoBehaviour // { // private scr_CharacterController characterController; // [Header("Settings")] // public WeaponSettingsModel settings; // [Header("References")] // public Animator SciFiWarriorOur; // private bool isInitialised; // Vector3 newWeaponRotation; // Vector3 newWeaponRotationVelocity; // Vector3 targetWeaponRotation; // Vector3 targetWeaponRotationVelocity; // Vector3 newWeaponMovementRotation; // Vector3 newWeaponRotationMovementVelocity; // Vector3 targetWeaponMovementRotation; // Vector3 targetWeaponMovementRotationVelocity; // private void Start() // { // newWeaponRotation = transform.localRotation.eulerAngles; // } // public void Initialise(scr_CharacterController CharacterController) // { // characterController = CharacterController; // isInitialised = true; // } // public void Update() // { // if (!isInitialised) // { // return; // } // CalculateWeaponRotation(); // SetWeaponAnimation(); // } // private void CalculateWeaponRotation() // { // SciFiWarriorOur.speed = characterController.weaponAnimationSpeed; // targetWeaponRotation.y += settings.SwayAmount * (settings.SwayXInverted ? -characterController.input_View.x : characterController.input_View.x) * Time.deltaTime; // targetWeaponRotation.x += settings.SwayAmount * (settings.SwayYInverted ? characterController.input_View.y : -characterController.input_View.y) * Time.deltaTime; // //newWeaponRotation.x = Mathf.Clamp(newWeaponRotation.x, ViewClampYMin, ViewClampYMax); // targetWeaponRotation.x = Mathf.Clamp(targetWeaponRotation.x, -settings.SwayClampX, settings.SwayClampX); // targetWeaponRotation.y = Mathf.Clamp(targetWeaponRotation.y, -settings.SwayClampY, settings.SwayClampY); // targetWeaponRotation.z = targetWeaponRotation.y; // targetWeaponRotation = Vector3.SmoothDamp(targetWeaponRotation, Vector3.zero, ref targetWeaponRotationVelocity, settings.SwayResetSmoothing); // newWeaponRotation = Vector3.SmoothDamp(newWeaponRotation, targetWeaponRotation, ref newWeaponRotationVelocity, settings.SwaySmoothing); // targetWeaponMovementRotation.z = settings.MovementSwayX * (settings.MovementSwayXInverted ? -characterController.input_Movement.x : characterController.input_Movement.x); // targetWeaponMovementRotation.x = settings.MovementSwayY * (settings.MovementSwayYInverted ? -characterController.input_Movement.y : characterController.input_Movement.y); // targetWeaponMovementRotation = Vector3.SmoothDamp(targetWeaponMovementRotation, Vector3.zero, ref targetWeaponMovementRotationVelocity, settings.SwayResetSmoothing); // newWeaponMovementRotation = Vector3.SmoothDamp(newWeaponRotation, targetWeaponMovementRotation, ref newWeaponRotationVelocity, settings.SwaySmoothing); // transform.localRotation = Quaternion.Euler(newWeaponRotation); // } // private void SetWeaponAnimation() // { // SciFiWarriorOur.SetBool("isSprinting", characterController.isSprinting); // SciFiWarriorOur.SetBool("isWalking", characterController.isWalking); // } // }