private void OnTriggerEnter2D(Collider2D other)
    {
        DamageableAbstract d = other.GetComponent <DamageableAbstract>();

        if (d != null)
        {
            d.Damage(damage);
            Vector2 dir = (other.transform.position - transform.position).normalized;
            d.ApplyKnockback(dir, knockback);
        }
    }
Esempio n. 2
0
    private void OnTriggerEnter2D(Collider2D other)
    {
        DamageableAbstract d = other.GetComponent <DamageableAbstract>();

        if (d != null)
        {
            d.Damage(damageAmount);
            Vector2 dPos = d.transform.position;
            Vector2 dir  = new Vector2(dPos.x - transform.position.x, dPos.y - transform.position.y).normalized;
            d.ApplyKnockback(dir, knockbackAmount);
        }
    }
Esempio n. 3
0
    private void OnTriggerStay2D(Collider2D other)
    {
        DamageableAbstract d = other.GetComponent <DamageableAbstract>();

        if (d != null && nextDamage < Time.time)
        {
            d.Damage(damageAmount);
            nextDamage = Time.time + damageRate;

            Vector2 dir = Vector2.up;
            if (d.transform.position.x < transform.position.x)
            {
                dir += Vector2.left;
            }
            else
            {
                dir += Vector2.right;
            }
            d.ApplyKnockback(dir, knockbackAmount);
        }
    }