EnemyBase.Damage C# (CSharp) Method

Damage() public method

Reduces the damage the enemy takes by it's armor.
public Damage ( int damage ) : void
damage int Damage inflicted before armor reduction.
return void
    public void Damage(int damage)
    {
        if (damage == 0)
            damage = 1;

        this.Health -= damage;

        // In case we want armor to be used again.
        int armorOffsetDamage = damage - armor;
        if (armorOffsetDamage > 0) {
            Health -= armorOffsetDamage;
        }
    }

Usage Example

    /// <summary>
    /// Ons the trigger enter2 d.
    /// </summary>
    /// <param name="collision">Collision.</param>
    protected override void OnTriggerEnter2D(Collider2D collision)
    {
        // In respawn mode, don't interact
        if (respawning)
        {
            return;
        }

        // If collision was with an enemy
        EnemyBase enemyPlane = collision.GetComponent <EnemyBase>();

        if (enemyPlane != null)
        {
            Damage();
            enemyPlane.Damage();
        }

        // If collision was with a projectile
        Projectile shoot = collision.GetComponent <Projectile>();

        if (shoot != null)
        {
            // Return projectile to pool
            collision.gameObject.SetActive(false);
            Damage(shoot.damage);
        }
    }
All Usage Examples Of EnemyBase::Damage