Lock mouse to screen when showing Main Menu UI or Options Menu UI
This commit is contained in:
parent
1647ab3ed1
commit
27120d731a
|
@ -3,6 +3,7 @@
|
||||||
|
|
||||||
#include "MainMenuUIWidget.h"
|
#include "MainMenuUIWidget.h"
|
||||||
|
|
||||||
|
#include "Blueprint/WidgetBlueprintLibrary.h"
|
||||||
#include "Kismet/GameplayStatics.h"
|
#include "Kismet/GameplayStatics.h"
|
||||||
|
|
||||||
void UMainMenuUIWidget::NativeConstruct()
|
void UMainMenuUIWidget::NativeConstruct()
|
||||||
|
@ -28,6 +29,14 @@ void UMainMenuUIWidget::NativeConstruct()
|
||||||
{
|
{
|
||||||
QuitButton->OnClicked.AddUniqueDynamic(this, &UMainMenuUIWidget::QuitButtonOnClicked);
|
QuitButton->OnClicked.AddUniqueDynamic(this, &UMainMenuUIWidget::QuitButtonOnClicked);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (APlayerController* PlayerController = UGameplayStatics::GetPlayerController(GetWorld(), 0))
|
||||||
|
{
|
||||||
|
UWidgetBlueprintLibrary::SetInputMode_UIOnlyEx(PlayerController, this, EMouseLockMode::LockAlways);
|
||||||
|
PlayerController->bShowMouseCursor = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void UMainMenuUIWidget::NewGameButtonOnClicked()
|
void UMainMenuUIWidget::NewGameButtonOnClicked()
|
||||||
|
@ -37,6 +46,14 @@ void UMainMenuUIWidget::NewGameButtonOnClicked()
|
||||||
{
|
{
|
||||||
UGameplayStatics::OpenLevelBySoftObjectPtr(GetWorld(), NewGameLevel);
|
UGameplayStatics::OpenLevelBySoftObjectPtr(GetWorld(), NewGameLevel);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (APlayerController* PlayerController = UGameplayStatics::GetPlayerController(GetWorld(), 0))
|
||||||
|
{
|
||||||
|
PlayerController->bShowMouseCursor = false;
|
||||||
|
UWidgetBlueprintLibrary::SetInputMode_GameOnly(PlayerController);
|
||||||
|
}
|
||||||
|
|
||||||
|
SetIsFocusable(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
void UMainMenuUIWidget::LoadGameButtonOnClicked()
|
void UMainMenuUIWidget::LoadGameButtonOnClicked()
|
||||||
|
|
|
@ -5,7 +5,9 @@
|
||||||
|
|
||||||
#include <Kismet/KismetSystemLibrary.h>
|
#include <Kismet/KismetSystemLibrary.h>
|
||||||
|
|
||||||
|
#include "Blueprint/WidgetBlueprintLibrary.h"
|
||||||
#include "GameFramework/GameUserSettings.h"
|
#include "GameFramework/GameUserSettings.h"
|
||||||
|
#include "Kismet/GameplayStatics.h"
|
||||||
|
|
||||||
void UOptionsUIWidget::NativeConstruct()
|
void UOptionsUIWidget::NativeConstruct()
|
||||||
{
|
{
|
||||||
|
@ -69,6 +71,14 @@ void UOptionsUIWidget::NativeConstruct()
|
||||||
{
|
{
|
||||||
ResetToDefaultsButton->OnClicked.AddUniqueDynamic(this, &UOptionsUIWidget::ResetToDefaultsButtonOnClicked);
|
ResetToDefaultsButton->OnClicked.AddUniqueDynamic(this, &UOptionsUIWidget::ResetToDefaultsButtonOnClicked);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (APlayerController* PlayerController = UGameplayStatics::GetPlayerController(GetWorld(), 0))
|
||||||
|
{
|
||||||
|
UWidgetBlueprintLibrary::SetInputMode_UIOnlyEx(PlayerController, this, EMouseLockMode::LockAlways);
|
||||||
|
PlayerController->bShowMouseCursor = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
SetIsFocusable(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
void UOptionsUIWidget::SetReturnScreen(UUserWidget* userWidget)
|
void UOptionsUIWidget::SetReturnScreen(UUserWidget* userWidget)
|
||||||
|
|
Loading…
Reference in New Issue