示例#1
0
文件: Explosion.cs 项目: iszen/LABOR
    void Update()
    {
        timeCounter += Time.deltaTime;
        if (timeCounter > secondsBeforeExplode)
        {
            playerHealth.DecreaseHealth(Convert.ToInt32(CalculateDamage(playerHealth.transform.position)));
            Collider[] colliders = Physics.OverlapSphere(transform.position, explosionRadius);

            for (int i = 0; i < colliders.Length; i++)
            {
                Rigidbody targetRigidbody = colliders[i].GetComponent <Rigidbody>();
                if (!targetRigidbody)
                {
                    continue;
                }
                targetRigidbody.AddExplosionForce(explosionForce, transform.position, explosionRadius);

                EnemyHealth enemyHealth = targetRigidbody.GetComponent <EnemyHealth>();
                if (!enemyHealth)
                {
                    continue;
                }
                enemyHealth.DecreaseHealth(Convert.ToInt32(CalculateDamage(targetRigidbody.position)));
            }

            explosionSound.gameObject.transform.parent = null;
            explosionSound.Play();
            Instantiate(explosion, transform.position, Quaternion.identity);
            Destroy(gameObject);
        }
    }
示例#2
0
        private void DamageEnemy(EnemyHealth enemyHealth)
        {
            if (enemyHealth == null)
            {
                return;
            }

            enemyHealth.DecreaseHealth(damage);
        }
示例#3
0
    void OnTriggerEnter(Collider other)
    {
        EnemyHealth enemy = other.GetComponent <EnemyHealth>();

        if (enemy)
        {
            enemy.DecreaseHealth(damage);
        }
        explosionSound.gameObject.transform.parent = null;
        explosionSound.Play();
        Instantiate(explosion, transform.position, Quaternion.identity);
        Destroy(gameObject);
    }
示例#4
0
    void OnTriggerEnter(Collider other)
    {
        PickableItem item = other.GetComponent <PickableItem>();

        if (item)
        {
            if (item.objectType == InventoryObjectType.Knife)
            {
                health.DecreaseHealth(knifeDamage);
                hitSound.Play();
                Debug.Log("Decreased Robots Health by " + knifeDamage);
            }
        }
    }
示例#5
0
    void OnTriggerEnter(Collider other)
    {
        PickableItem item = other.GetComponent <PickableItem>();

        if (item)
        {
            if (item.objectType == InventoryObjectType.Injection)
            {
                health.DecreaseHealth(injectionDamage);
                hitSound.Play();
                Debug.Log("Decreased Zombies Health by " + injectionDamage);
            }
        }
    }
示例#6
0
 void OnTriggerEnter(Collider other)
 {
     if (other.tag == "EnemyTank")
     {
         //Destroy(other.gameObject);
         EnemyHealth enemyHealth = other.GetComponent <EnemyHealth>();
         if (enemyHealth != null)
         {
             enemyHealth.DecreaseHealth();
         }
         else
         {
             Debug.LogWarning("No EnemyHealth found on EnemyTank.");
         }
     }
     Destroy(this.gameObject);
 }
 public void ArrowHitEffect()
 {
     enemyHealth.DecreaseHealth();
     GameManager.instance.UnregisterEnemy(this);
 }