Ejemplo n.º 1
0
    public void DamageObject(GameObject r)
    {
        HealthManager hp = r.GetComponent <HealthManager>();

        if (hp == null)
        {
            hp = r.GetComponentInParent <HealthManager>();
        }

        if (hp != null)
        {
            Debug.Log("HIT: " + hp.name);
            if (damage > 0)
            {
                hp.TakeDamage(damage);
                if (knockBack)
                {
                    hp.onDamaged?.Invoke(gameObject);
                }
                else
                {
                    hp.BroadcastMessage("Flash", gameObject, SendMessageOptions.DontRequireReceiver);
                }
            }
            else
            {
                hp.HealDamage(-damage);
            }
        }
    }