haxis/Source/UnrealProject/Doodads/CharacterSettings.h

47 lines
1.1 KiB
C++

// Project Lab - NHTV Igad
#pragma once
#include "GameFramework/SaveGame.h"
#include "SkillTreeState.h"
#include "PlayerSetupState.h"
#include "CharacterSettings.generated.h"
USTRUCT(BlueprintType)
struct FCharacterSave
{
GENERATED_BODY()
public:
UPROPERTY(BlueprintReadWrite, Category = "Save")
FString name;
UPROPERTY(BlueprintReadWrite, Category = "Save")
FSkillTreeState skillTreeState;
UPROPERTY(BlueprintReadWrite, Category = "Save")
FCharacterCustomization characterCustomization;
UPROPERTY(BlueprintReadWrite, Category = "Save")
int32 characterClass;
};
UCLASS()
class UNREALPROJECT_API UCharacterSettings : public USaveGame
{
GENERATED_BODY()
private:
public:
UCharacterSettings(const FObjectInitializer& ObjectInitializer);
UPROPERTY(BlueprintReadWrite, Category = "Basic")
TArray<FCharacterSave> characterSaves;
UFUNCTION(BlueprintCallable, Category = "Basic")
TArray<FCharacterSave> GetValidCharacters() const;
public:
static UCharacterSettings* Load();
static void Save(UCharacterSettings* settings);
};