Hello, why OnBeginCursorOver doesn’t works on closest actors ?
UFUNCTION()
void OnCapsuleMouseOver(UPrimitiveComponent* TouchedComponent);
UFUNCTION()
void OnCapsuleEndMouseOver(UPrimitiveComponent* TouchedComponent);
AreaCapsule->SetCollisionResponseToChannel(ECollisionChannel::ECC_Visibility, ECollisionResponse::ECR_Block);
AreaCapsule->OnBeginCursorOver.AddDynamic(this, &AWeapon::OnCapsuleMouseOver);
AreaCapsule->OnEndCursorOver.AddDynamic(this, &AWeapon::OnCapsuleEndMouseOver);
void AWeapon::OnCapsuleMouseOver(UPrimitiveComponent* TouchedComponent)
{
WeaponMesh->AddRelativeLocation({ 0, 0, 10 }, false, nullptr, ETeleportType::TeleportPhysics);
if (GEngine)
{
GEngine->AddOnScreenDebugMessage(-1, 3.f, FColor::Cyan, TEXT("Mouse Over"));
}
}
void AWeapon::OnCapsuleEndMouseOver(UPrimitiveComponent* TouchedComponent)
{
WeaponMesh->AddRelativeLocation({ 0, 0, -10 }, false, nullptr, ETeleportType::TeleportPhysics);
if (GEngine)
{
GEngine->AddOnScreenDebugMessage(-1, 3.f, FColor::Cyan, TEXT("Mouse Out"));
}
}
A video to show the problem