public void grappleReset()
 {
     ln.enabled = false;
     Destroy(GrapplePoint);
     GS       = Grapplestage.idle;
     isfiring = false;
 }
 void ExtendUpdate()
 {
     GrapplePoint.transform.position = Vector3.MoveTowards(GrapplePoint.transform.position, extendTo, grappleSpeed * Time.deltaTime);
     if (Vector3.Distance(extendTo, GrapplePoint.transform.position) < 0.01)
     {
         GS = Grapplestage.retract;
     }
 }
 void Extend(Vector3 A)
 {
     GrapplePoint = Object.Instantiate(Grapple, transform.position, transform.rotation);
     ln.enabled   = true;
     isfiring     = true;
     extendTo     = A;
     GS           = Grapplestage.extend;
     retractspeed = normalretractspeed;
 }
 public void LookForBlocks()
 {
     Debug.LogError("wait this works");
     retractspeed = blockretractspeed;
     GS           = Grapplestage.retract;
 }