Example #1
0
    void Grasp(Collision collision)
    {
        if (isReleasing)
        {
            isReleasing = false;
            return;
        }

        if (Input.GetButtonDown("Grasp") && !grasper.IsGrasping)
        {
            var validContacts = collision.contacts.Where(c =>
                                                         c.otherCollider.tag != "crane" &&
                                                         c.otherCollider.rigidbody != null &&
                                                         !c.otherCollider.rigidbody.isKinematic).Select(c => c.otherCollider.gameObject);

//			Debug.Log(string.Format("contacts: {0} validcontacts: {1}", collision.contacts.Count(), validContacts.Count()));
            grasper.Grasp(validContacts);
        }
    }
Example #2
0
    void OnCollisionEnter(Collision collision)
    {
        if (isDead)
        {
            return;
        }

        if (collision.impactForceSum.magnitude > deathOnForce)
        {
            Die();
        }
        else
        {
            AudioSource.PlayClipAtPoint(hitSound, transform.position);
        }

        if (collision.gameObject.tag == "food" && !grasper.IsGrasping && !isLooseGrip)
        {
            grasper.Grasp(collision.gameObject);
            isHoldingFood = true;
        }
    }