Make Pause Widget a VampireInteractiveWidget
This commit is contained in:
		
							parent
							
								
									544b238739
								
							
						
					
					
						commit
						82ce0896d0
					
				
							
								
								
									
										
											BIN
										
									
								
								Content/Widgets/Pause/BP_PauseWidget.uasset
									 (Stored with Git LFS)
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Content/Widgets/Pause/BP_PauseWidget.uasset
									 (Stored with Git LFS)
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							| @ -6,10 +6,7 @@ | ||||
| #include "Blueprint/WidgetBlueprintLibrary.h" | ||||
| #include "Components/Button.h" | ||||
| #include "Kismet/GameplayStatics.h" | ||||
| 
 | ||||
| void UPauseWidget::Init() | ||||
| { | ||||
| } | ||||
| #include "vampires/VampireGameInstance.h" | ||||
| 
 | ||||
| void UPauseWidget::NativeConstruct() | ||||
| { | ||||
| @ -17,13 +14,22 @@ void UPauseWidget::NativeConstruct() | ||||
| 
 | ||||
| 	if (ResumeButton) | ||||
| 	{ | ||||
| 		ResumeButton->OnClicked.AddUniqueDynamic(this, &UPauseWidget::ResumeButtonClicked); | ||||
| 		ResumeButton->OnClicked.AddUniqueDynamic(this, &UPauseWidget::ResumeButtonOnClicked); | ||||
| 		ResumeButton->OnHovered.AddUniqueDynamic(this, &UPauseWidget::ResumeButtonOnHovered); | ||||
| 		ResumeButton->OnUnhovered.AddUniqueDynamic(this, &UPauseWidget::ResumeButtonOnUnhovered); | ||||
| 	} | ||||
| 
 | ||||
| 	if (ReturnToMainMenuButton) | ||||
| 	{ | ||||
| 		ReturnToMainMenuButton->OnClicked.AddUniqueDynamic(this, &UPauseWidget::ReturnToMainMenuButtonOnClicked); | ||||
| 		ReturnToMainMenuButton->OnHovered.AddUniqueDynamic(this, &UPauseWidget::ReturnToMainMenuButtonOnHovered); | ||||
| 		ReturnToMainMenuButton->OnUnhovered.AddUniqueDynamic(this, &UPauseWidget::ReturnToMainMenuButtonOnUnhovered); | ||||
| 	} | ||||
| 
 | ||||
| 	SetIsFocusable(true); | ||||
| } | ||||
| 
 | ||||
| void UPauseWidget::ResumeButtonClicked() | ||||
| void UPauseWidget::ResumeButtonOnClicked() | ||||
| { | ||||
| 	RemoveFromParent(); | ||||
| 
 | ||||
| @ -36,3 +42,46 @@ void UPauseWidget::ResumeButtonClicked() | ||||
| 
 | ||||
| 	SetIsFocusable(false); | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| void UPauseWidget::ResumeButtonOnHovered() | ||||
| { | ||||
| 	SetTextBlockHovered(ResumeTextBlock); | ||||
| 	PlayHoveredSound(); | ||||
| } | ||||
| 
 | ||||
| void UPauseWidget::ResumeButtonOnUnhovered() | ||||
| { | ||||
| 	SetTextBlockUnhovered(ResumeTextBlock); | ||||
| 	PlayUnhoveredSound(); | ||||
| } | ||||
| 
 | ||||
| void UPauseWidget::ReturnToMainMenuButtonOnClicked() | ||||
| { | ||||
| 	if (UVampireGameInstance* GameInstance = Cast<UVampireGameInstance>(GetGameInstance())) | ||||
| 	{ | ||||
| 		if (!GameInstance->MainMenuWorld.IsNull()) | ||||
| 		{ | ||||
| 			UGameplayStatics::OpenLevelBySoftObjectPtr(GetWorld(), GameInstance->MainMenuWorld); | ||||
| 
 | ||||
| 			if (APlayerController* PlayerController = UGameplayStatics::GetPlayerController(GetWorld(), 0)) | ||||
| 			{ | ||||
| 				PlayerController->bShowMouseCursor = true; | ||||
| 			} | ||||
| 			SetIsFocusable(true); | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| void UPauseWidget::ReturnToMainMenuButtonOnHovered() | ||||
| { | ||||
| 	SetTextBlockHovered(ReturnToMainMenuTextBlock); | ||||
| 	PlayHoveredSound(); | ||||
| } | ||||
| 
 | ||||
| void UPauseWidget::ReturnToMainMenuButtonOnUnhovered() | ||||
| { | ||||
| 	SetTextBlockUnhovered(ReturnToMainMenuTextBlock); | ||||
| 	PlayUnhoveredSound(); | ||||
| } | ||||
| 
 | ||||
|  | ||||
| @ -3,6 +3,7 @@ | ||||
| #pragma once | ||||
| 
 | ||||
| #include "CoreMinimal.h" | ||||
| #include "VampireInteractiveWidget.h" | ||||
| #include "Blueprint/UserWidget.h" | ||||
| #include "PauseWidget.generated.h" | ||||
| 
 | ||||
| @ -11,19 +12,42 @@ class UButton; | ||||
|  *  | ||||
|  */ | ||||
| UCLASS() | ||||
| class VAMPIRES_API UPauseWidget : public UUserWidget | ||||
| class VAMPIRES_API UPauseWidget : public UVampireInteractiveWidget | ||||
| { | ||||
| 	GENERATED_BODY() | ||||
| 
 | ||||
| public: | ||||
| 	UPROPERTY(BlueprintReadWrite, meta=(BindWidget)) | ||||
| 	UButton* ResumeButton; | ||||
| 	TObjectPtr<UButton> ResumeButton; | ||||
| 	 | ||||
| 	UPROPERTY(BlueprintReadWrite, meta=(BindWidget)) | ||||
| 	TObjectPtr<UTextBlock> ResumeTextBlock; | ||||
| 
 | ||||
| 	void Init(); | ||||
| 	UPROPERTY(BlueprintReadWrite, meta=(BindWidget)) | ||||
| 	TObjectPtr<UButton> ReturnToMainMenuButton; | ||||
| 
 | ||||
| 	UPROPERTY(BlueprintReadWrite, meta=(BindWidget)) | ||||
| 	TObjectPtr<UTextBlock> ReturnToMainMenuTextBlock; | ||||
| 
 | ||||
| 	virtual void NativeConstruct() override; | ||||
| 
 | ||||
| private: | ||||
| 	UFUNCTION() | ||||
| 	void ResumeButtonClicked(); | ||||
| 	void ResumeButtonOnClicked(); | ||||
| 	 | ||||
| 	UFUNCTION() | ||||
| 	void ResumeButtonOnHovered(); | ||||
| 
 | ||||
| 	UFUNCTION() | ||||
| 	void ResumeButtonOnUnhovered(); | ||||
| 
 | ||||
| 	UFUNCTION() | ||||
| 	void ReturnToMainMenuButtonOnClicked(); | ||||
| 	 | ||||
| 	UFUNCTION() | ||||
| 	void ReturnToMainMenuButtonOnHovered(); | ||||
| 
 | ||||
| 	UFUNCTION() | ||||
| 	void ReturnToMainMenuButtonOnUnhovered(); | ||||
| 	 | ||||
| }; | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user