public override void Start() { base.Start(); GameObject forwardObject = new GameObject("Forward"); forwardObject.transform.parent = transform; forwardObject.transform.localPosition = new Vector3(0, -1, 0); forward = forwardObject.transform; projectile.GrappleHit += OnGrappleHit; chainRenderer = GetComponent<ChainRenderer>(); }
public void Start() { // Center chain between the connected bodies transform.position = (bodyA.transform.position + bodyB.transform.position) / 2.0f; if (!isDuplicate) { // Attach to body A jointA = gameObject.AddComponent<HingeJoint2D>(); jointA.connectedBody = bodyA; jointA.anchor = bodyA.transform.position - transform.position; jointA.connectedAnchor = offsetA; // Attach to body B jointB = gameObject.AddComponent<HingeJoint2D>(); jointB.connectedBody = bodyB; jointB.anchor = bodyB.transform.position - transform.position; jointB.connectedAnchor = offsetB; } endA = bodyA.transform.position; endB = bodyB.transform.position; if (chainRenderer == null) { chainRenderer = GetComponent<ChainRenderer>(); } // For some reason in 4.5.2, chains are getting stuck in some kind of fake-sleep mode unless you touch something... rigidbody2D.mass = rigidbody2D.mass; }