private void OnCollisionEnter2D(Collision2D collision)
    {
        GreenBird hitBird = collision.collider.GetComponent <GreenBird>();

        if (hitBird != null)
        {
            // hit by the bird
            Instantiate(_cloudParticlePrefap, transform.position, Quaternion.identity);
            Destroy(gameObject);
            return;
        }

        // hit by the box, check contact angle. If box is on the top, destroy the pig
        if (collision.contacts[0].normal.y < -0.5)
        {
            Instantiate(_cloudParticlePrefap, transform.position, Quaternion.identity);
            Destroy(gameObject);
            return;
        }

        // hit by anything with velocity magnitude > 4
        if (collision.relativeVelocity.magnitude > 4)
        {
            Instantiate(_cloudParticlePrefap, transform.position, Quaternion.identity);
            Destroy(gameObject);
            return;
        }
    }
Beispiel #2
0
    private void OnCollisionEnter2D(Collision2D collision)
    {
        GreenBird greenBird = collision.collider.GetComponent <GreenBird>();

        if (greenBird != null)
        {
            Destroy(gameObject);
            return;
        }

        Enemy enemy = collision.collider.GetComponent <Enemy>();

        if (enemy != null)
        {
            return;
        }

        if (collision.contacts[0].normal.y <= -0.5)
        {
            Destroy(gameObject);
            return;
        }
    }