summaryrefslogtreecommitdiff
path: root/AnimationObject.cs
diff options
context:
space:
mode:
authorchai <215380520@qq.com>2024-03-13 17:37:47 +0800
committerchai <215380520@qq.com>2024-03-13 17:37:47 +0800
commit54c872fa42b1ba0fdbcfe812b80bb8eb0cfe108f (patch)
tree5d7e1b1b33ef67f147f92a912e2ab371e83ec490 /AnimationObject.cs
parent134f1deb971b0514a26e04e23926f91983a5497f (diff)
*misc
Diffstat (limited to 'AnimationObject.cs')
-rw-r--r--AnimationObject.cs140
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;
- }
- }
-}