From 72c0636d460dbff953f14abdee1fd2e6cb6213c0 Mon Sep 17 00:00:00 2001 From: Cameron Katri Date: Sat, 12 Jun 2021 14:59:41 -0400 Subject: Physics in FixedUpdate --- Assets/Scripts/Controllers/Player/PlayerSegment.cs | 24 ++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'Assets/Scripts/Controllers/Player/PlayerSegment.cs') diff --git a/Assets/Scripts/Controllers/Player/PlayerSegment.cs b/Assets/Scripts/Controllers/Player/PlayerSegment.cs index b713442..4d0fb4f 100644 --- a/Assets/Scripts/Controllers/Player/PlayerSegment.cs +++ b/Assets/Scripts/Controllers/Player/PlayerSegment.cs @@ -6,15 +6,39 @@ namespace Controllers.Player [RequireComponent(typeof(Rigidbody2D))] public class PlayerSegment : MonoBehaviour { + internal float sensitivity; + internal float verticalSensitivity; + + internal bool moveleft; + internal bool moveright; + [SerializeField] public Control left; [SerializeField] public Control right; [SerializeField] public Vector3 forceOrigin; [SerializeField] public float height; + [SerializeField] public bool isRoot; + [SerializeField] public bool isTop; public Rigidbody2D Rigidbody => _rigidbody != null ? _rigidbody : _rigidbody = GetComponent(); private Rigidbody2D _rigidbody; + + private void FixedUpdate() + { + if (moveleft) + { + Rigidbody.AddForceAtPosition( + Vector2.left * (sensitivity * (isRoot ? 2f : 1f)) + Vector2.up * (verticalSensitivity * (isRoot ? -1f : 1f)), + transform.position + (height * forceOrigin)); + } + if (moveright) + { + Rigidbody.AddForceAtPosition( + Vector2.right * (sensitivity * (isRoot ? 2f : 1f)) + Vector2.up * (verticalSensitivity * (isRoot ? -1f : 1f)), + transform.position + (height * forceOrigin)); + } + } } [Serializable] -- cgit v1.2.3-56-ge451