Ok this works:
void AGameHUD::BeginPlay() {
UE_LOG(LogClass, Log, TEXT("AGameHUD::BeginPlay"));
InputComponent = ConstructObject<UInputComponent>(UInputComponent::StaticClass(), this, TEXT("HUD_InputComponent0"));
if (InputComponent) {
UE_LOG(LogClass, Log, TEXT("AGameHUD::BeginPlay BindKey"));
InputComponent->BindKey(EKeys::LeftMouseButton, IE_Pressed, this, &AGameHUD::OnLeftMouseButtonClick);
InputComponent->BindKey(EKeys::LeftMouseButton, IE_Released, this, &AGameHUD::OnLeftMouseButtonRelease);
InputComponent->BindKey(EKeys::LeftMouseButton, IE_DoubleClick, this, &AGameHUD::OnLeftMouseButtonDoubleClick);
GetOwningPlayerController()->PushInputComponent(InputComponent);
}
}
void AGameHUD::OnLeftMouseButtonClick() {
UE_LOG(LogClass, Log, TEXT("AGameHUD::OnLeftMouseButtonClick"));
}
void AGameHUD::OnLeftMouseButtonDoubleClick() {
UE_LOG(LogClass, Log, TEXT("AGameHUD::OnLeftMouseButtonDoubleClick"));
}
void AGameHUD::OnLeftMouseButtonRelease() {
UE_LOG(LogClass, Log, TEXT("AGameHUD::OnLeftMouseButtonRelease"));
}