funkcję CheckForHit, w której skorzystamy z funkcji Physics2D.OverlapCircle.
Funkcja ta pozwala nam sprawdzić, czy w zadanym promieniu od konkretnego punktu znajduje się obiekt na danej warstwie. Jeżeli trafimy na taki obiekt, zadajemy wrogowi obrażenia i dodajemy siłę aby go nieco przesunąć w kierunku uderzenia
Dokumentacja: Physics2D.OverlapCircle
using UnityEngine;
public class MeleeWeaponHandler : MonoBehaviour {
[HideInInspector]
public float damage;
[HideInInspector]
public int direction;
public void CheckForHit() {
var col = Physics2D.OverlapCircle(this.transform.position, 0.65f, 1 << LayerMask.NameToLayer("Enemy"));
if (col != null) {
col.gameObject.GetComponent<EnemyController>().DealDamage(this.damage);
col.gameObject.GetComponent<Rigidbody2D>().AddForce(Vector2.right * this.direction * 2.0f, ForceMode2D.Impulse);
}
}
}
Comments
0 B
|👍
/👎