diff --git a/Source/Nakatomi/UI/SaveGameEntryUserWidget.cpp b/Source/Nakatomi/UI/SaveGameEntryUserWidget.cpp new file mode 100644 index 0000000..06a0b13 --- /dev/null +++ b/Source/Nakatomi/UI/SaveGameEntryUserWidget.cpp @@ -0,0 +1,43 @@ +// Fill out your copyright notice in the Description page of Project Settings. + + +#include "../UI/SaveGameEntryUserWidget.h" + +void USaveGameEntryUserWidget::NativeConstruct() +{ + Super::NativeConstruct(); + + if (LoadSaveButton) + { + LoadSaveButton->OnClicked.AddUniqueDynamic(this, &USaveGameEntryUserWidget::LoadSaveButtonOnClicked); + LoadSaveButton->OnClicked.AddUniqueDynamic(this, &USaveGameEntryUserWidget::PlayClickedSound); + + LoadSaveButton->OnHovered.AddUniqueDynamic(this, &USaveGameEntryUserWidget::LoadSaveButtonHoveredDelegate); + LoadSaveButton->OnHovered.AddUniqueDynamic(this, &USaveGameEntryUserWidget::PlayHoveredSound); + + LoadSaveButton->OnUnhovered.AddUniqueDynamic(this, &USaveGameEntryUserWidget::LoadSaveButtonUnhoveredDelegate); + LoadSaveButton->OnUnhovered.AddUniqueDynamic(this, &USaveGameEntryUserWidget::PlayUnhoveredSound); + } +} + +void USaveGameEntryUserWidget::SetSaveInfo() +{ +} + +void USaveGameEntryUserWidget::LoadSaveButtonOnClicked() +{ +} + +void USaveGameEntryUserWidget::LoadSaveButtonHoveredDelegate() +{ + SetTextBlockHovered(PlayerNameTextBlock); + SetTextBlockHovered(CurrentLevelTextBlock); + SetTextBlockHovered(DateTimeSavedTextBlock); +} + +void USaveGameEntryUserWidget::LoadSaveButtonUnhoveredDelegate() +{ + SetTextBlockUnhovered(PlayerNameTextBlock); + SetTextBlockUnhovered(CurrentLevelTextBlock); + SetTextBlockUnhovered(DateTimeSavedTextBlock); +} diff --git a/Source/Nakatomi/UI/SaveGameEntryUserWidget.h b/Source/Nakatomi/UI/SaveGameEntryUserWidget.h new file mode 100644 index 0000000..cbdfc7b --- /dev/null +++ b/Source/Nakatomi/UI/SaveGameEntryUserWidget.h @@ -0,0 +1,47 @@ +// Fill out your copyright notice in the Description page of Project Settings. + +#pragma once + +#include "CoreMinimal.h" +#include "NakatomiInteractiveWidget.h" +#include "Components/Button.h" +#include "SaveGameEntryUserWidget.generated.h" + +/** + * + */ +UCLASS() +class NAKATOMI_API USaveGameEntryUserWidget : public UNakatomiInteractiveWidget +{ + GENERATED_BODY() + +public: + + UPROPERTY(BlueprintReadWrite, meta = (BindWidget)) + UButton* LoadSaveButton; + + UPROPERTY(BlueprintReadWrite, meta = (BindWidget)) + UTextBlock* PlayerNameTextBlock; + + UPROPERTY(BlueprintReadWrite, meta = (BindWidget)) + UTextBlock* CurrentLevelTextBlock; + + UPROPERTY(BlueprintReadWrite, meta = (BindWidget)) + UTextBlock* DateTimeSavedTextBlock; + +public: + virtual void NativeConstruct() override; + + UFUNCTION() + void SetSaveInfo(); + +private: + UFUNCTION() + void LoadSaveButtonOnClicked(); + + UFUNCTION() + void LoadSaveButtonHoveredDelegate(); + + UFUNCTION() + void LoadSaveButtonUnhoveredDelegate(); +};