File SFSettingValue.h
File List > Core > SFSettingValue.h
Go to the documentation of this file
// Copyright 2026 Anh Pham. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "UObject/NoExportTypes.h"
#include "GameplayTagContainer.h"
#include "InputCoreTypes.h"
#include "Core/SFCoreTypes.h"
#include "SFSettingValue.generated.h"
UCLASS(Abstract, BlueprintType, Blueprintable, EditInlineNew, DefaultToInstanced)
class SETTINGSFRAMEWORK_API USFSettingValue : public UObject
{
GENERATED_BODY()
public:
virtual FString SerializeToString() const PURE_VIRTUAL(USFSettingValue::SerializeToString, return FString(););
virtual void DeserializeFromString(const FString& InString) PURE_VIRTUAL(USFSettingValue::DeserializeFromString, );
virtual USFSettingValue* Duplicate(UObject* Outer) const
{
return DuplicateObject<USFSettingValue>(this, Outer);
};
virtual bool Equals(const USFSettingValue* Other) const PURE_VIRTUAL(USFSettingValue::Equals, return false;);
virtual FString ToString() const { return SerializeToString(); }
};
UCLASS(DisplayName = "SF Scalar Value")
class SETTINGSFRAMEWORK_API USFSettingValue_Scalar : public USFSettingValue
{
GENERATED_BODY()
public:
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Value")
float Value = 0.0f;
virtual FString SerializeToString() const override;
virtual void DeserializeFromString(const FString& InString) override;
virtual bool Equals(const USFSettingValue* Other) const override;
};
UCLASS(DisplayName = "SF Bool Value")
class SETTINGSFRAMEWORK_API USFSettingValue_Bool : public USFSettingValue
{
GENERATED_BODY()
public:
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Value")
bool Value = false;
virtual FString SerializeToString() const override;
virtual void DeserializeFromString(const FString& InString) override;
virtual bool Equals(const USFSettingValue* Other) const override;
};
UCLASS(DisplayName = "SF Tag Value")
class SETTINGSFRAMEWORK_API USFSettingValue_Tag : public USFSettingValue
{
GENERATED_BODY()
public:
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Value")
FGameplayTag Value;
virtual FString SerializeToString() const override;
virtual void DeserializeFromString(const FString& InString) override;
virtual bool Equals(const USFSettingValue* Other) const override;
};
UCLASS(DisplayName = "SF String Value")
class SETTINGSFRAMEWORK_API USFSettingValue_String : public USFSettingValue
{
GENERATED_BODY()
public:
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Value")
FString Value;
virtual FString SerializeToString() const override;
virtual void DeserializeFromString(const FString& InString) override;
virtual bool Equals(const USFSettingValue* Other) const override;
};
UCLASS(DisplayName = "SF Keybind Value")
class SETTINGSFRAMEWORK_API USFSettingValue_Key : public USFSettingValue
{
GENERATED_BODY()
public:
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Value")
FSFKeybindValueData Value;
virtual FString SerializeToString() const override;
virtual void DeserializeFromString(const FString& InString) override;
virtual bool Equals(const USFSettingValue* Other) const override;
};