示例#1
0
    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>();
    }
示例#2
0
    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;
    }