using Rigging.BodyPart; using Rigging.Data; using System.Collections; using System.Collections.Generic; using UnityEngine; namespace Rigging.Cameras { public class CameraMovement : MonoBehaviour { public Camera camera; public Transform positionTarget; //public Transform headPosition; public Transform rotationTarget; //public Transform bobberTarget; private StandingDataHandler standingData; private float fallingValue; private float fallingEffectValue; private float minBobble = 0.02f; public bool ADS; //public DamageEffects effects; //private WeaponHandler weaponHandler; private Rigidbody hip; //private HasControl hasControl; //private HeadCollisionHandler headCollisionHandler; private MovementDataHandler movementData; private Rigidbody torso; //private PlayerDeath death; private Strength str; private Vector3 cameraCurrentRelativeADSPosition = Vector3.zero; private Vector3 movementADSVelocity = Vector3.zero; private Vector3 ADSMovementPosition = Vector3.zero; private void Start() { torso = base.transform.root.GetComponentInChildren().GetComponent(); //headCollisionHandler = base.transform.root.GetComponentInChildren(); standingData = base.transform.root.GetComponentInChildren(); movementData = base.transform.root.GetComponentInChildren(); //weaponHandler = base.transform.GetComponentInParent(); camera = GetComponentInChildren(); hip = base.transform.root.GetComponentInChildren().GetComponentInChildren(); //hasControl = base.transform.root.GetComponent(); //death = base.transform.root.GetComponent(); str = base.transform.root.GetComponentInChildren(); //effects = base.transform.root.GetComponent(); } private void LateUpdate() { //headCollisionHandler.collisionValue = 0f; if (standingData.sinceLanded > 1f) { fallingValue = Mathf.Clamp(standingData.sinceGrounded - 0.5f, 0f, 10f) * 0.5f; } if (standingData.sinceGrounded > 0.5f || standingData.sinceLanded < 0.5f) { fallingEffectValue = Mathf.Lerp(fallingEffectValue, fallingValue, Time.smoothDeltaTime * 15f); } else { fallingEffectValue = Mathf.Lerp(fallingEffectValue, minBobble, Time.smoothDeltaTime * 3f); } Vector3 position = positionTarget.position; base.transform.position = position; base.transform.rotation = rotationTarget.rotation; SetCameraPosition(); } private void SetCameraPosition() { camera.transform.localPosition = Vector3.Lerp(camera.transform.localPosition, Vector3.zero, Time.deltaTime * 20f); camera.fieldOfView = Mathf.Lerp(camera.fieldOfView, 90f, Time.deltaTime * 20f); } private void FixedUpdate() { } private void Update() { //if (hasControl.hasControl) //{ // ADSMovementPosition += movementADSVelocity * Time.deltaTime; //} } //private float GetPhysicsValue() //{ // float result = fallingEffectValue * 0.3f + (1f - str.strength) + effects.damageValue; // if (death.dead) // { // result = 1f; // } // return result; //} } }