diff options
Diffstat (limited to 'GameCode/PlayerFollowGround.cs')
-rw-r--r-- | GameCode/PlayerFollowGround.cs | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/GameCode/PlayerFollowGround.cs b/GameCode/PlayerFollowGround.cs new file mode 100644 index 0000000..c200f89 --- /dev/null +++ b/GameCode/PlayerFollowGround.cs @@ -0,0 +1,30 @@ +using UnityEngine; + +public class PlayerFollowGround : MonoBehaviour +{ + private CharacterData data; + + private Vector2 lastPos; + + private Rigidbody2D lastRig; + + private void Start() + { + data = GetComponent<CharacterData>(); + } + + private void FixedUpdate() + { + if (data.standOnRig == null || !data.isGrounded) + { + lastPos = Vector2.zero; + return; + } + if (lastPos != Vector2.zero && data.standOnRig == lastRig) + { + data.playerVel.transform.position = data.playerVel.position + (data.standOnRig.position - lastPos); + } + lastPos = data.standOnRig.position; + lastRig = data.standOnRig; + } +} |