diff options
Diffstat (limited to 'AnimationObject.cs')
-rw-r--r-- | AnimationObject.cs | 140 |
1 files changed, 0 insertions, 140 deletions
diff --git a/AnimationObject.cs b/AnimationObject.cs deleted file mode 100644 index 0c2d636..0000000 --- a/AnimationObject.cs +++ /dev/null @@ -1,140 +0,0 @@ -using UnityEngine; -using UnityEngine.Events; - -public class AnimationObject : MonoBehaviour -{ - public PhysicsAnimation[] animations; - - private Rigidbody rig; - - private StepHandler stepHandler; - - private Transform hip; - - public float smoothing; - - public float multiplier = 1f; - - private bool isCurrentlyLeft; - - public bool isLeft; - - public UnityEvent switchToForwardEvent; - - public UnityEvent switchToBackwardsEvent; - - public bool dontAnimateIfHoldingSomething; - - private Holding holding; - - private AnimationHandler animationHandler; - - private PlayerDeath death; - - private float muscleMultiplier = 1f; - - private void Start() - { - animationHandler = base.transform.root.GetComponent<AnimationHandler>(); - rig = GetComponent<Rigidbody>(); - stepHandler = base.transform.root.GetComponent<StepHandler>(); - holding = base.transform.root.GetComponent<Holding>(); - death = base.transform.root.GetComponent<PlayerDeath>(); - Hip componentInChildren = base.transform.root.GetComponentInChildren<Hip>(); - if ((bool)componentInChildren) - { - hip = componentInChildren.transform; - } - } - - private void FixedUpdate() - { - if ((bool)death) - { - if (death.muscleFunction < 0f) - { - return; - } - muscleMultiplier = death.muscleFunction; - } - if ((!holding || !dontAnimateIfHoldingSomething || !holding.heldObject) && animationHandler.animationState < animations.Length) - { - SetMultiplier(); - AddTorque(); - AddForce(); - } - } - - private void AddForce() - { - Vector3 vector = Vector3.zero; - if (isCurrentlyLeft == isLeft) - { - Vector3 forwardForce = animations[animationHandler.animationState].forwardForce; - if (animations[animationHandler.animationState].forceSpace == PhysicsAnimation.ForceSpace.World) - { - vector = forwardForce; - } - if (animations[animationHandler.animationState].forceSpace == PhysicsAnimation.ForceSpace.Hip) - { - vector = hip.TransformDirection(forwardForce); - } - } - else - { - Vector3 backwardsForce = animations[animationHandler.animationState].backwardsForce; - if (animations[animationHandler.animationState].forceSpace == PhysicsAnimation.ForceSpace.World) - { - vector = backwardsForce; - } - if (animations[animationHandler.animationState].forceSpace == PhysicsAnimation.ForceSpace.Hip) - { - vector = hip.TransformDirection(backwardsForce); - } - } - rig.AddForce(vector * muscleMultiplier * multiplier, ForceMode.Acceleration); - } - - private void AddTorque() - { - Vector3 vector = ((isCurrentlyLeft != isLeft) ? hip.TransformDirection(animations[animationHandler.animationState].backwardsTorque) : hip.TransformDirection(animations[animationHandler.animationState].forwardTorque)); - rig.AddTorque(vector * muscleMultiplier * multiplier, ForceMode.Acceleration); - } - - private void SetMultiplier() - { - if (smoothing != 0f) - { - float b = 1f; - if (isCurrentlyLeft != stepHandler.isLeft) - { - b = 0f; - } - multiplier = Mathf.Lerp(multiplier, b, 1f / smoothing); - if (multiplier < 0.1f) - { - ChangeStep(); - } - } - else - { - ChangeStep(); - } - } - - private void ChangeStep() - { - if (isCurrentlyLeft != stepHandler.isLeft) - { - if (stepHandler.isLeft == isLeft) - { - switchToForwardEvent.Invoke(); - } - else - { - switchToBackwardsEvent.Invoke(); - } - isCurrentlyLeft = stepHandler.isLeft; - } - } -} |