CollidingObject.OnCollisionEnter2D C# (CSharp) Method

OnCollisionEnter2D() public method

public OnCollisionEnter2D ( Collision2D coll ) : void
coll Collision2D
return void
    public void OnCollisionEnter2D(Collision2D coll)
    {
        float vol = Mathf.Pow(Mathf.Min(Mathf.Abs(Vector3.Dot(coll.contacts[0].normal, lastVelocity))/maxSpeed, 1), 3);
        CollidingObject obj = coll.gameObject.GetComponent<CollidingObject>();
        if (coll.gameObject.tag!="Bouncy")
            velocity -= 0.95f*Vector3.Project(velocity, coll.contacts[0].normal);
        if ((obj!=null && (obj.isMovable || this.isMovable)) && (!collHit.isPlaying || vol>collHit.volume)) {
            collHit.Play();
            collHit.volume = vol*_collHit.volume;
        }
        if (obj==null && (!hitSurface.isPlaying || vol>hitSurface.volume)) {
            hitSurface.volume = vol*_hitSurface.volume;
            hitSurface.Play();
        }
        if (lastVelocity.magnitude > 8) {
            Vector2 hit = coll.contacts [0].point;
            GameObject temp = (GameObject)Instantiate (dust, new Vector3(hit.x,hit.y,0), Quaternion.identity);
            temp.GetComponent<ParticleSystem> ().startSize = lastVelocity.magnitude/10-.25f;
        }
    }