this script was working fine in older unity version now it has errors and no scenes will play
its 2d so why is error asking about rigidbody 2d its definitely a 2d game
error is
Assets/Standard Assets/Scripts/General Scripts/DragRigidbody.js(30,18): BCE0019: ‘rigidbody2D’ is not a member of ‘UnityEngine.RaycastHit’. Did you mean ‘rigidbody’?
var spring = 50.0;
var damper = 5.0;
var drag = 10.0;
var angularDrag = 5.0;
var distance = 0.2;
var attachToCenterOfMass = false;
var Idle: AnimationClip;
private var springJoint : SpringJoint;
function Update ()
{
if (Mathf.Abs(Input.GetAxis("Vertical")) <= 0.1){
GetComponent.<Animation>().CrossFade("Idle");
}
// Make sure the user pressed the mouse down
if (!Input.GetMouseButtonDown (0))
return;
var mainCamera = FindCamera();
// We need to actually hit an object
var hit : RaycastHit;
if (!Physics.Raycast(mainCamera.ScreenPointToRay(Input.mousePosition), hit, 100))
return;
// We need to hit a rigidbody that is not kinematic
if (!hit.rigidbody2D || hit.rigidbody2D.isKinematic)
return;
if (!springJoint)
{
var go = new GameObject("Rigidbody2D dragger");
var body : Rigidbody2D = go.AddComponent.<Rigidbody2D>() as Rigidbody2D;
springJoint = go.AddComponent.<SpringJoint>();
body.isKinematic = true;
}
springJoint.transform.position = hit.point;
if (attachToCenterOfMass)
{
var anchor = transform.TransformDirection(hit.rigidbody2D.centerOfMass) + hit.rigidbody2D.transform.position;
anchor = springJoint.transform.InverseTransformPoint(anchor);
springJoint.anchor = anchor;
}
else
{
springJoint.anchor = Vector3.zero;
}
springJoint.spring = spring;
springJoint.damper = damper;
springJoint.maxDistance = distance;
springJoint.connectedBody = hit.rigidbody2D;
StartCoroutine ("DragObject", hit.distance);
}
function DragObject (distance : float)
{
var oldDrag = springJoint.connectedBody.drag;
var oldAngularDrag = springJoint.connectedBody.angularDrag;
springJoint.connectedBody.drag = drag;
springJoint.connectedBody.angularDrag = angularDrag;
var mainCamera = FindCamera();
while (Input.GetMouseButton (0))
{
var ray = mainCamera.ScreenPointToRay (Input.mousePosition);
springJoint.transform.position = ray.GetPoint(distance);
yield;
}
if (springJoint.connectedBody)
{
springJoint.connectedBody.drag = oldDrag;
springJoint.connectedBody.angularDrag = oldAngularDrag;
springJoint.connectedBody = null;
}
}
function FindCamera ()
{
if (GetComponent.<Camera>())
return GetComponent.<Camera>();
else
return Camera.main;
}