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 "Blueprint/WidgetBlueprintLibrary.h" | ||||
| #include "Kismet/GameplayStatics.h" | ||||
| 
 | ||||
| void UMainMenuUIWidget::NativeConstruct() | ||||
| @ -28,6 +29,14 @@ void UMainMenuUIWidget::NativeConstruct() | ||||
| 	{ | ||||
| 		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() | ||||
| @ -37,6 +46,14 @@ void UMainMenuUIWidget::NewGameButtonOnClicked() | ||||
| 	{ | ||||
| 		UGameplayStatics::OpenLevelBySoftObjectPtr(GetWorld(), NewGameLevel);	 | ||||
| 	} | ||||
| 
 | ||||
| 	if (APlayerController* PlayerController = UGameplayStatics::GetPlayerController(GetWorld(), 0)) | ||||
| 	{ | ||||
| 		PlayerController->bShowMouseCursor = false; | ||||
| 		UWidgetBlueprintLibrary::SetInputMode_GameOnly(PlayerController); | ||||
| 	} | ||||
| 
 | ||||
| 	SetIsFocusable(false); | ||||
| } | ||||
| 
 | ||||
| void UMainMenuUIWidget::LoadGameButtonOnClicked() | ||||
|  | ||||
| @ -5,7 +5,9 @@ | ||||
| 
 | ||||
| #include <Kismet/KismetSystemLibrary.h> | ||||
| 
 | ||||
| #include "Blueprint/WidgetBlueprintLibrary.h" | ||||
| #include "GameFramework/GameUserSettings.h" | ||||
| #include "Kismet/GameplayStatics.h" | ||||
| 
 | ||||
| void UOptionsUIWidget::NativeConstruct() | ||||
| { | ||||
| @ -69,6 +71,14 @@ void UOptionsUIWidget::NativeConstruct() | ||||
| 	{ | ||||
| 		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) | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user