예제 #1
0
    //Collisions
    void OnCollisionEnter(Collision collision)
    {
        GameObject  hit           = collision.gameObject;
        Health      health        = hit.GetComponent <Health>();
        powerupStar powerup       = hit.GetComponent <powerupStar>();
        enemyBullet deflectBullet = hit.GetComponent <enemyBullet>();
        enemyLaser  deflectLaser  = hit.GetComponent <enemyLaser>();

        if (health != null)
        {
            health.TakeDamage(dmg);
        }

        if (powerup != null)
        {
            if (powerup.timer < 0.3)
            {
                powerup.powerup += 0.01f;
            }
        }

        if (deflectBullet != null)
        {
            deflectBullet.deflected = true;
            deflectBullet.speed    -= deflectBullet.originalSpeed * 1.7f;
            deflectBullet.dmg       = deflectBullet.dmg * 2;
        }

        if (deflectLaser != null)
        {
            deflectLaser.deflected = true;
            deflectLaser.speed    -= deflectLaser.originalSpeed * 1.7f;
            deflectLaser.dmg       = deflectLaser.dmg * 2;
        }
    }
    void OnTriggerEnter2D(Collider2D col)
    {
        Debug.Log("Player hit!");
        enemyLaser missile = col.gameObject.GetComponent <enemyLaser>();

        if (missile)
        {
            health -= missile.GetDamage();
            missile.Hit();

            if (health <= 0)
            {
                Die();
            }

            Debug.Log("Hit by a projectile.");
        }
    }