Проблемы с Raycast в Unity
У меня есть рейкаст, который выходит с оружия и при нажатии на левую кнопку мыши он должен проверить, есть ли на объекте нужный компонент, если есть то нужно выполнить соответствующий код. Все работает, но когда дело доходит до проверки компонента, то нужная часть кода не выполняется, хотя этот компонент есть на объекте
Вот скрин, что на объекте есть EnemyMovenment:
Вот код:
using UnityEngine;
public class MeleeWeapon : MainCharacterAttack
{
[SerializeField] private float _range;
private void MeleeWeaponAttack()
{
Vector2 direction = transform.up;
RaycastHit2D hit = Physics2D.Raycast(transform.position, direction, _range);
if (hit.collider != null)
{
if (hit.collider.GetComponent<EnemyMovement>() != null)
{
MainCharacterAttack mainCharacterAttack = GetComponent<MainCharacterAttack>();
mainCharacterAttack.TakeDamage(hit.collider);
}
}
}
private void Update()
{
if (Input.GetButtonDown("Fire1"))
{
MeleeWeaponAttack();
}
}
}