예제 #1
0
 private void OnTriggerEnter2D(Collider2D col)
 {
     // detect collision between torpedo and any enemy
     if (GameMechanics.CheckColliderAgainstAllEnemyTags(col))
     {
         ExplosionDamage(transform.position, .7f, col);
         BlowUp();
     }
 }
 private void OnTriggerEnter2D(Collider2D col)
 {
     // detect collision between torpedo and enemy ship
     if (GameMechanics.CheckColliderAgainstAllEnemyTags(col))
     {
         col.SendMessage("TakeDamage", Rules.GetConcussionMissileDamage());
         BlowUp();
     }
 }
예제 #3
0
    void ExplosionDamage(Vector3 center, float radius, Collider2D col)
    {
        // get all colliders in range of explosion
        Collider2D[] hitColliders = Physics2D.OverlapCircleAll(center, radius);
        int          i            = 0;

        while (i < hitColliders.Length)
        {
            // send message to owner of collider to take damage
            if (GameMechanics.CheckColliderAgainstAllEnemyTags(hitColliders[i]))
            {
                hitColliders[i].SendMessage("TakeDamage", Rules.GetTorpedoDamage());
            }
            i++;
        }
    }