Beispiel #1
0
    public void CreateJoint(Collision2D coll)
    {
        var joint                 = gameObject.AddComponent <SpringJoint2D> ();
        var localContactPoint     = transform.InverseTransformPoint(coll.contacts [0].point);
        var connectedContactPoint = coll.transform.InverseTransformPoint(coll.contacts [0].point);

        joint.anchor          = new Vector2(localContactPoint.x, localContactPoint.y);
        joint.connectedAnchor = new Vector2(connectedContactPoint.x, connectedContactPoint.y);
        joint.connectedBody   = coll.rigidbody;
        joint.dampingRatio    = 0;
        joint.distance        = 0;
        joint.enableCollision = false;
        joint.frequency       = 0;

        var foundObject = (GameObject)Resources.Load("JointCircle");
        var circle      = (GameObject)Instantiate(foundObject, coll.contacts [0].point, foundObject.transform.rotation);

        var circleJoint = new CircleJoint();

        circleJoint.joint  = joint;
        circleJoint.circle = circle;
        circleJoints.Add(circleJoint);

        var shipPiece = coll.gameObject.GetComponent <ShipPiece> ();

        if (shipPiece != null)
        {
            shipPiece.AddCircleJoint(circleJoint);
        }
    }
Beispiel #2
0
 public void AddCircleJoint(CircleJoint circleJoint)
 {
     circleJoints.Add(circleJoint);
 }