Exemplo n.º 1
0
    void OnCollisionEnter(Collision other)
    {
        Health health = other.gameObject.GetComponentInParent <Health>();

        if (health != null)
        {
            health.DealDamage(10);
            explosion.transform.SetParent(null);
            explosion.transform.position = other.contacts[0].point + (transform.position - other.transform.position).normalized * .25f;
            explosion.Play();
            Instantiate(explosionAudioPrefab, transform.position, Quaternion.identity);
            Destroy(explosion, 2);
            Destroy(gameObject);

            Knockback knockback = health.GetComponent <Knockback>();
            if (knockback)
            {
                knockback.DoKnockback(initialVelocity.normalized);
            }
        }
        else
        {
            rb.useGravity = true;
        }
    }
Exemplo n.º 2
0
 public override void DoDamage(Transform damager, int damage)
 {
     base.DoDamage(damager, damage);
     if (lungeTween != null)
     {
         lungeTween.Kill();
     }
     knockback.DoKnockback(GetComponentInChildren <MonsterDamager>().transform.position - damager.position);
 }
Exemplo n.º 3
0
 public void DoDamage(Transform damager, float damage)
 {
     shine -= damage;
     StartCoroutine(DisableMovement());
     knockback.DoKnockback(transform.position - damager.position);
 }