summaryrefslogtreecommitdiff
path: root/ActiveRagdoll/Assets/TABG/Scripts/Camera/CameraMovement.cs
diff options
context:
space:
mode:
Diffstat (limited to 'ActiveRagdoll/Assets/TABG/Scripts/Camera/CameraMovement.cs')
-rw-r--r--ActiveRagdoll/Assets/TABG/Scripts/Camera/CameraMovement.cs108
1 files changed, 103 insertions, 5 deletions
diff --git a/ActiveRagdoll/Assets/TABG/Scripts/Camera/CameraMovement.cs b/ActiveRagdoll/Assets/TABG/Scripts/Camera/CameraMovement.cs
index c988991..dd21770 100644
--- a/ActiveRagdoll/Assets/TABG/Scripts/Camera/CameraMovement.cs
+++ b/ActiveRagdoll/Assets/TABG/Scripts/Camera/CameraMovement.cs
@@ -1,23 +1,121 @@
+using Rigging.BodyPart;
+using Rigging.Data;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
-namespace Rigging.Camera
+namespace Rigging.Cameras
{
public class CameraMovement : MonoBehaviour
{
- // Start is called before the first frame update
- void Start()
+ 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<Torso>().GetComponent<Rigidbody>();
+ //headCollisionHandler = base.transform.root.GetComponentInChildren<HeadCollisionHandler>();
+ standingData = base.transform.root.GetComponentInChildren<StandingDataHandler>();
+ movementData = base.transform.root.GetComponentInChildren<MovementDataHandler>();
+ //weaponHandler = base.transform.GetComponentInParent<WeaponHandler>();
+ camera = GetComponentInChildren<Camera>();
+ hip = base.transform.root.GetComponentInChildren<Hip>().GetComponentInChildren<Rigidbody>();
+ //hasControl = base.transform.root.GetComponent<HasControl>();
+ //death = base.transform.root.GetComponent<PlayerDeath>();
+ str = base.transform.root.GetComponentInChildren<Strength>();
+ //effects = base.transform.root.GetComponent<DamageEffects>();
+ }
+ 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();
}
- // Update is called once per frame
- void Update()
+ 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;
+ //}
}
} \ No newline at end of file