Compare commits

...

2 Commits

6 changed files with 40 additions and 4 deletions

Binary file not shown.

BIN
Content/UI/LoadGame/BP_SaveGameEntryTemplate.uasset (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -3,6 +3,11 @@
#include "../UI/LoadGameUserWidget.h"
#include "SaveGameEntryUserWidget.h"
#include "Blueprint/WidgetTree.h"
#include "Kismet/GameplayStatics.h"
#include "Nakatomi/NakatomiGameInstance.h"
void ULoadGameUserWidget::NativeConstruct()
{
Super::NativeConstruct();
@ -18,6 +23,22 @@ void ULoadGameUserWidget::NativeConstruct()
CancelButton->OnUnhovered.AddUniqueDynamic(this, &ULoadGameUserWidget::CancelButtonUnhoveredDelegate);
CancelButton->OnUnhovered.AddUniqueDynamic(this, &ULoadGameUserWidget::PlayUnhoveredSound);
}
UNakatomiGameInstance* gameInstance = Cast<UNakatomiGameInstance>(UGameplayStatics::GetGameInstance(GetWorld()))
if (gameInstance && IsValid(SaveGameEntryWidgetTemplate))
{
TArray<FNakatomiSaveFileInfo> SaveFiles = gameInstance->GetAllSaveFilesFromDisk();
for (FNakatomiSaveFileInfo SaveFile : SaveFiles)
{
USaveGameEntryUserWidget* SaveGameEntry = WidgetTree->ConstructWidget<USaveGameEntryUserWidget>(
SaveGameEntryWidgetTemplate, FName("SaveGameEntry"));
SaveGameEntry->SetSaveInfo(SaveFile);
SavedGamesScrollBox->AddChild(SaveGameEntry);
}
}
}
void ULoadGameUserWidget::CancelButtonOnClicked()

View File

@ -26,6 +26,9 @@ public:
UPROPERTY(BlueprintReadWrite, meta = (BindWidget))
UScrollBox* SavedGamesScrollBox;
UPROPERTY(EditDefaultsOnly, BlueprintReadWrite)
TSubclassOf<class USaveGameEntryUserWidget> SaveGameEntryWidgetTemplate;
public:
virtual void NativeConstruct() override;

View File

@ -20,12 +20,17 @@ void USaveGameEntryUserWidget::NativeConstruct()
}
}
void USaveGameEntryUserWidget::SetSaveInfo()
void USaveGameEntryUserWidget::SetSaveInfo(FNakatomiSaveFileInfo SaveFile)
{
SaveFileInfo = SaveFile;
PlayerNameTextBlock->SetText(FText::FromString(SaveFileInfo.PlayerName));
CurrentLevelTextBlock->SetText(FText::FromString(SaveFileInfo.CurrentLevel));
DateTimeSavedTextBlock->SetText(FText::FromString(SaveFileInfo.DateTimeSaved));
}
void USaveGameEntryUserWidget::LoadSaveButtonOnClicked()
{
// TODO: implement loading of stuff
}
void USaveGameEntryUserWidget::LoadSaveButtonHoveredDelegate()

View File

@ -5,6 +5,7 @@
#include "CoreMinimal.h"
#include "NakatomiInteractiveWidget.h"
#include "Components/Button.h"
#include "Nakatomi/NakatomiSaveFileInfo.h"
#include "SaveGameEntryUserWidget.generated.h"
/**
@ -29,11 +30,14 @@ public:
UPROPERTY(BlueprintReadWrite, meta = (BindWidget))
UTextBlock* DateTimeSavedTextBlock;
private:
FNakatomiSaveFileInfo SaveFileInfo;
public:
virtual void NativeConstruct() override;
UFUNCTION()
void SetSaveInfo();
void SetSaveInfo(FNakatomiSaveFileInfo SaveFile);
private:
UFUNCTION()