Exemplo n.º 1
0
    void Update()
    {
        foreach (var payload in Payloads)
        {
            var delta = payload.position - transform.position;
            if (delta.sqrMagnitude <= LockonDistance * LockonDistance)
            {
                HingeJoint hj = gameObject.AddComponent <HingeJoint>();
                hj.connectedBody = payload.GetComponent <Rigidbody>();
                hj.axis          = Vector3.forward;
                hj.anchor        = Vector3.zero;

                TractorBeam.Create(transform, payload);

                // <WIP> maybe we want to "correct" the hang distance
                // in case you came in so hot that you are unusually
                // close (or far) from the payload? Meh...

                Payloads.Remove(payload);
                return;
            }
        }
    }