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 "Blueprint/WidgetBlueprintLibrary.h" | ||||||
| #include "Components/Button.h" | #include "Components/Button.h" | ||||||
| #include "Kismet/GameplayStatics.h" | #include "Kismet/GameplayStatics.h" | ||||||
| 
 | #include "vampires/VampireGameInstance.h" | ||||||
| void UPauseWidget::Init() |  | ||||||
| { |  | ||||||
| } |  | ||||||
| 
 | 
 | ||||||
| void UPauseWidget::NativeConstruct() | void UPauseWidget::NativeConstruct() | ||||||
| { | { | ||||||
| @ -17,13 +14,22 @@ void UPauseWidget::NativeConstruct() | |||||||
| 
 | 
 | ||||||
| 	if (ResumeButton) | 	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); | 	SetIsFocusable(true); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void UPauseWidget::ResumeButtonClicked() | void UPauseWidget::ResumeButtonOnClicked() | ||||||
| { | { | ||||||
| 	RemoveFromParent(); | 	RemoveFromParent(); | ||||||
| 
 | 
 | ||||||
| @ -36,3 +42,46 @@ void UPauseWidget::ResumeButtonClicked() | |||||||
| 
 | 
 | ||||||
| 	SetIsFocusable(false); | 	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 | #pragma once | ||||||
| 
 | 
 | ||||||
| #include "CoreMinimal.h" | #include "CoreMinimal.h" | ||||||
|  | #include "VampireInteractiveWidget.h" | ||||||
| #include "Blueprint/UserWidget.h" | #include "Blueprint/UserWidget.h" | ||||||
| #include "PauseWidget.generated.h" | #include "PauseWidget.generated.h" | ||||||
| 
 | 
 | ||||||
| @ -11,19 +12,42 @@ class UButton; | |||||||
|  *  |  *  | ||||||
|  */ |  */ | ||||||
| UCLASS() | UCLASS() | ||||||
| class VAMPIRES_API UPauseWidget : public UUserWidget | class VAMPIRES_API UPauseWidget : public UVampireInteractiveWidget | ||||||
| { | { | ||||||
| 	GENERATED_BODY() | 	GENERATED_BODY() | ||||||
| 
 | 
 | ||||||
| public: | public: | ||||||
| 	UPROPERTY(BlueprintReadWrite, meta=(BindWidget)) | 	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; | 	virtual void NativeConstruct() override; | ||||||
| 
 | 
 | ||||||
| private: | private: | ||||||
| 	UFUNCTION() | 	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