コード例 #1
0
ファイル: Armor.cs プロジェクト: TruckDefenseInstitute/Convoy
    public float ReduceDamage(DamageMetadata dm)
    {
        float dmg = dm.Damage;

        switch (dm.DamageType)
        {
        case DamageType.Gun:
            return(dmg *= GunDamageMult);

        case DamageType.Cannon:
            return(dmg *= CannonDamageMult);

        case DamageType.Grenade:
            return(dmg *= GrenadeDamageMult);

        case DamageType.Rocket:
            return(dmg *= RocketDamageMult);

        case DamageType.Sniper:
            return(dmg *= SniperDamageMult);

        default:
            return(dmg);
        }
    }
コード例 #2
0
    public void TakeDamage(DamageMetadata dm)
    {
        // to prevent double deaths
        if (Health <= 0)
        {
            return;
        }

        this.Health -= _armorRef.ReduceDamage(dm);

        if (Health <= 0)
        {
            Die();
        }
    }
コード例 #3
0
 // Start is called before the first frame update
 void Start()
 {
     DamageMetadata = new DamageMetadata(DamageMetadata.Damage / NumberOfRockets, DamageMetadata.DamageType);
     FireRocket();
 }