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); } }
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); } }
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); } }