Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System.Collections.Generic;
- using UnityEngine;
- public class GrappleThrow : MonoBehaviour
- {
- public float grappleThrowSpeed;
- public float extendSpeed;
- public float retractSpeed;
- [Space()]
- public Rigidbody2D grappleEndRb;
- public List<DistanceJoint2D> jointList = new();
- public bool extending;
- public bool retracting;
- void Update()
- {
- if(extending)
- {
- grappleEndRb.AddForce(transform.right * grappleThrowSpeed, ForceMode2D.Impulse);
- foreach (var joint in jointList)
- {
- joint.distance += extendSpeed * Time.deltaTime;
- }
- }
- else if(retracting)
- {
- foreach (var joint in jointList)
- {
- joint.distance -= retractSpeed * Time.deltaTime;
- }
- }
- }
- [ContextMenu("Extend")]
- public void Extend()
- {
- extending = true;
- retracting = false;
- }
- [ContextMenu("Retract")]
- public void Retract()
- {
- extending = false;
- retracting = true;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment