diff --git a/Plugins/BeamableCore/Source/BeamableCore/Private/AutoGen/FederationInfo.cpp b/Plugins/BeamableCore/Source/BeamableCore/Private/AutoGen/FederationInfo.cpp index 3148e4eab..bbd080223 100644 --- a/Plugins/BeamableCore/Source/BeamableCore/Private/AutoGen/FederationInfo.cpp +++ b/Plugins/BeamableCore/Source/BeamableCore/Private/AutoGen/FederationInfo.cpp @@ -9,21 +9,21 @@ void UFederationInfo::BeamSerializeProperties(TUnrealJsonSerializer& Serializer) { Serializer->WriteValue(TEXT("service"), Service); Serializer->WriteValue(TEXT("namespace"), Namespace); - UBeamJsonUtils::SerializeOptional<UOptionalJsonNodeWrapper*>(TEXT("settings"), &Settings, Serializer); + UBeamJsonUtils::SerializeJsonObject(TEXT("settings"), Settings, Serializer); } void UFederationInfo::BeamSerializeProperties(TUnrealPrettyJsonSerializer& Serializer) const { Serializer->WriteValue(TEXT("service"), Service); Serializer->WriteValue(TEXT("namespace"), Namespace); - UBeamJsonUtils::SerializeOptional<UOptionalJsonNodeWrapper*>(TEXT("settings"), &Settings, Serializer); + UBeamJsonUtils::SerializeJsonObject(TEXT("settings"), Settings, Serializer); } void UFederationInfo::BeamDeserializeProperties(const TSharedPtr<FJsonObject>& Bag) { Service = Bag->GetStringField(TEXT("service")); Namespace = Bag->GetStringField(TEXT("namespace")); - UBeamJsonUtils::DeserializeOptional<UOptionalJsonNodeWrapper*>("settings", Bag, Settings, OuterOwner); + UBeamJsonUtils::DeserializeJsonObject(TEXT("settings"), Bag, Settings, OuterOwner); } diff --git a/Plugins/BeamableCore/Source/BeamableCore/Private/AutoGen/FederationInfoLibrary.cpp b/Plugins/BeamableCore/Source/BeamableCore/Private/AutoGen/FederationInfoLibrary.cpp index a277d5eab..98aed6006 100644 --- a/Plugins/BeamableCore/Source/BeamableCore/Private/AutoGen/FederationInfoLibrary.cpp +++ b/Plugins/BeamableCore/Source/BeamableCore/Private/AutoGen/FederationInfoLibrary.cpp @@ -22,21 +22,19 @@ FString UFederationInfoLibrary::FederationInfoToJsonString(const UFederationInfo return Result; } -UFederationInfo* UFederationInfoLibrary::Make(FString Service, FString Namespace, FOptionalOptionalJsonNodeWrapper Settings, UObject* Outer) +UFederationInfo* UFederationInfoLibrary::Make(FString Service, FString Namespace, UObject* Outer) { auto Serializable = NewObject<UFederationInfo>(Outer); Serializable->Service = Service; Serializable->Namespace = Namespace; - Serializable->Settings = Settings; return Serializable; } -void UFederationInfoLibrary::Break(const UFederationInfo* Serializable, FString& Service, FString& Namespace, FOptionalOptionalJsonNodeWrapper& Settings) +void UFederationInfoLibrary::Break(const UFederationInfo* Serializable, FString& Service, FString& Namespace) { Service = Serializable->Service; Namespace = Serializable->Namespace; - Settings = Serializable->Settings; } diff --git a/Plugins/BeamableCore/Source/BeamableCore/Private/AutoGen/OptionalJsonNodeWrapper.cpp b/Plugins/BeamableCore/Source/BeamableCore/Private/AutoGen/OptionalJsonNodeWrapper.cpp deleted file mode 100644 index 5336c18ac..000000000 --- a/Plugins/BeamableCore/Source/BeamableCore/Private/AutoGen/OptionalJsonNodeWrapper.cpp +++ /dev/null @@ -1,24 +0,0 @@ - -#include "BeamableCore/Public/AutoGen/OptionalJsonNodeWrapper.h" -#include "Serialization/BeamJsonUtils.h" - - - - -void UOptionalJsonNodeWrapper::BeamSerializeProperties(TUnrealJsonSerializer& Serializer) const -{ - UBeamJsonUtils::SerializeOptional<FString>(TEXT("node"), &Node, Serializer); -} - -void UOptionalJsonNodeWrapper::BeamSerializeProperties(TUnrealPrettyJsonSerializer& Serializer) const -{ - UBeamJsonUtils::SerializeOptional<FString>(TEXT("node"), &Node, Serializer); -} - -void UOptionalJsonNodeWrapper::BeamDeserializeProperties(const TSharedPtr<FJsonObject>& Bag) -{ - UBeamJsonUtils::DeserializeOptional<FString>("node", Bag, Node, OuterOwner); -} - - - diff --git a/Plugins/BeamableCore/Source/BeamableCore/Private/AutoGen/OptionalJsonNodeWrapperLibrary.cpp b/Plugins/BeamableCore/Source/BeamableCore/Private/AutoGen/OptionalJsonNodeWrapperLibrary.cpp deleted file mode 100644 index c5c0bd670..000000000 --- a/Plugins/BeamableCore/Source/BeamableCore/Private/AutoGen/OptionalJsonNodeWrapperLibrary.cpp +++ /dev/null @@ -1,38 +0,0 @@ - -#include "BeamableCore/Public/AutoGen/OptionalJsonNodeWrapperLibrary.h" - -#include "CoreMinimal.h" - - -FString UOptionalJsonNodeWrapperLibrary::OptionalJsonNodeWrapperToJsonString(const UOptionalJsonNodeWrapper* Serializable, const bool Pretty) -{ - FString Result = FString{}; - if(Pretty) - { - TUnrealPrettyJsonSerializer JsonSerializer = TJsonStringWriter<TPrettyJsonPrintPolicy<TCHAR>>::Create(&Result); - Serializable->BeamSerialize(JsonSerializer); - JsonSerializer->Close(); - } - else - { - TUnrealJsonSerializer JsonSerializer = TJsonStringWriter<TCondensedJsonPrintPolicy<TCHAR>>::Create(&Result); - Serializable->BeamSerialize(JsonSerializer); - JsonSerializer->Close(); - } - return Result; -} - -UOptionalJsonNodeWrapper* UOptionalJsonNodeWrapperLibrary::Make(FOptionalString Node, UObject* Outer) -{ - auto Serializable = NewObject<UOptionalJsonNodeWrapper>(Outer); - Serializable->Node = Node; - - return Serializable; -} - -void UOptionalJsonNodeWrapperLibrary::Break(const UOptionalJsonNodeWrapper* Serializable, FOptionalString& Node) -{ - Node = Serializable->Node; - -} - diff --git a/Plugins/BeamableCore/Source/BeamableCore/Private/AutoGen/Optionals/OptionalOptionalJsonNodeWrapper.cpp b/Plugins/BeamableCore/Source/BeamableCore/Private/AutoGen/Optionals/OptionalOptionalJsonNodeWrapper.cpp deleted file mode 100644 index bdbbdcb12..000000000 --- a/Plugins/BeamableCore/Source/BeamableCore/Private/AutoGen/Optionals/OptionalOptionalJsonNodeWrapper.cpp +++ /dev/null @@ -1,21 +0,0 @@ - -#include "BeamableCore/Public/AutoGen/Optionals/OptionalOptionalJsonNodeWrapper.h" - -FOptionalOptionalJsonNodeWrapper::FOptionalOptionalJsonNodeWrapper() -{ - Val = nullptr; - IsSet = false; -} - -FOptionalOptionalJsonNodeWrapper::FOptionalOptionalJsonNodeWrapper(UOptionalJsonNodeWrapper* Val): Val(Val) -{ - IsSet = true; -} - -const void* FOptionalOptionalJsonNodeWrapper::GetAddr() const { return &Val; } - -void FOptionalOptionalJsonNodeWrapper::Set(const void* Data) -{ - Val = *((UOptionalJsonNodeWrapper**)Data); - IsSet = true; -} \ No newline at end of file diff --git a/Plugins/BeamableCore/Source/BeamableCore/Private/AutoGen/Optionals/OptionalOptionalJsonNodeWrapperLibrary.cpp b/Plugins/BeamableCore/Source/BeamableCore/Private/AutoGen/Optionals/OptionalOptionalJsonNodeWrapperLibrary.cpp deleted file mode 100644 index 1f78a7df0..000000000 --- a/Plugins/BeamableCore/Source/BeamableCore/Private/AutoGen/Optionals/OptionalOptionalJsonNodeWrapperLibrary.cpp +++ /dev/null @@ -1,32 +0,0 @@ - - -#include "AutoGen/Optionals/OptionalOptionalJsonNodeWrapperLibrary.h" - -FOptionalOptionalJsonNodeWrapper UOptionalOptionalJsonNodeWrapperLibrary::MakeOptional(UOptionalJsonNodeWrapper* Value) -{ - FOptionalOptionalJsonNodeWrapper Optional; - Optional.Val = Value; - Optional.IsSet = true; - return Optional; -} - -FOptionalOptionalJsonNodeWrapper UOptionalOptionalJsonNodeWrapperLibrary::Conv_OptionalFromValue(UOptionalJsonNodeWrapper* Value) -{ - FOptionalOptionalJsonNodeWrapper Optional; - Optional.Val = Value; - Optional.IsSet = true; - return Optional; -} - -bool UOptionalOptionalJsonNodeWrapperLibrary::HasValue(const FOptionalOptionalJsonNodeWrapper& Optional, UOptionalJsonNodeWrapper*& Value) -{ - Value = Optional.Val; - return Optional.IsSet; -} - -UOptionalJsonNodeWrapper* UOptionalOptionalJsonNodeWrapperLibrary::GetOptionalValue(const FOptionalOptionalJsonNodeWrapper& Optional, UOptionalJsonNodeWrapper* DefaultValue, bool& WasSet) -{ - WasSet = Optional.IsSet; - return WasSet ? Optional.Val : DefaultValue; -} - diff --git a/Plugins/BeamableCore/Source/BeamableCore/Private/AutoGen/SupportedFederation.cpp b/Plugins/BeamableCore/Source/BeamableCore/Private/AutoGen/SupportedFederation.cpp index 9481ad5a8..01322e330 100644 --- a/Plugins/BeamableCore/Source/BeamableCore/Private/AutoGen/SupportedFederation.cpp +++ b/Plugins/BeamableCore/Source/BeamableCore/Private/AutoGen/SupportedFederation.cpp @@ -8,22 +8,22 @@ void USupportedFederation::BeamSerializeProperties(TUnrealJsonSerializer& Serializer) const { Serializer->WriteValue(TEXT("type"), UFederationTypeLibrary::FederationTypeToSerializationName(Type)); + UBeamJsonUtils::SerializeJsonObject(TEXT("settings"), Settings, Serializer); UBeamJsonUtils::SerializeOptional<FString>(TEXT("nameSpace"), &NameSpace, Serializer); - UBeamJsonUtils::SerializeOptional<UOptionalJsonNodeWrapper*>(TEXT("settings"), &Settings, Serializer); } void USupportedFederation::BeamSerializeProperties(TUnrealPrettyJsonSerializer& Serializer) const { Serializer->WriteValue(TEXT("type"), UFederationTypeLibrary::FederationTypeToSerializationName(Type)); - UBeamJsonUtils::SerializeOptional<FString>(TEXT("nameSpace"), &NameSpace, Serializer); - UBeamJsonUtils::SerializeOptional<UOptionalJsonNodeWrapper*>(TEXT("settings"), &Settings, Serializer); + UBeamJsonUtils::SerializeJsonObject(TEXT("settings"), Settings, Serializer); + UBeamJsonUtils::SerializeOptional<FString>(TEXT("nameSpace"), &NameSpace, Serializer); } void USupportedFederation::BeamDeserializeProperties(const TSharedPtr<FJsonObject>& Bag) { Type = UFederationTypeLibrary::SerializationNameToFederationType(Bag->GetStringField(TEXT("type"))); + UBeamJsonUtils::DeserializeJsonObject(TEXT("settings"), Bag, Settings, OuterOwner); UBeamJsonUtils::DeserializeOptional<FString>("nameSpace", Bag, NameSpace, OuterOwner); - UBeamJsonUtils::DeserializeOptional<UOptionalJsonNodeWrapper*>("settings", Bag, Settings, OuterOwner); } diff --git a/Plugins/BeamableCore/Source/BeamableCore/Private/AutoGen/SupportedFederationLibrary.cpp b/Plugins/BeamableCore/Source/BeamableCore/Private/AutoGen/SupportedFederationLibrary.cpp index 800dbc007..285702602 100644 --- a/Plugins/BeamableCore/Source/BeamableCore/Private/AutoGen/SupportedFederationLibrary.cpp +++ b/Plugins/BeamableCore/Source/BeamableCore/Private/AutoGen/SupportedFederationLibrary.cpp @@ -22,21 +22,19 @@ FString USupportedFederationLibrary::SupportedFederationToJsonString(const USupp return Result; } -USupportedFederation* USupportedFederationLibrary::Make(EFederationType Type, FOptionalString NameSpace, FOptionalOptionalJsonNodeWrapper Settings, UObject* Outer) +USupportedFederation* USupportedFederationLibrary::Make(EFederationType Type, FOptionalString NameSpace, UObject* Outer) { auto Serializable = NewObject<USupportedFederation>(Outer); Serializable->Type = Type; Serializable->NameSpace = NameSpace; - Serializable->Settings = Settings; return Serializable; } -void USupportedFederationLibrary::Break(const USupportedFederation* Serializable, EFederationType& Type, FOptionalString& NameSpace, FOptionalOptionalJsonNodeWrapper& Settings) +void USupportedFederationLibrary::Break(const USupportedFederation* Serializable, EFederationType& Type, FOptionalString& NameSpace) { Type = Serializable->Type; NameSpace = Serializable->NameSpace; - Settings = Serializable->Settings; } diff --git a/Plugins/BeamableCore/Source/BeamableCore/Public/AutoGen/FederationInfo.h b/Plugins/BeamableCore/Source/BeamableCore/Public/AutoGen/FederationInfo.h index e5ef0f705..959af5e96 100644 --- a/Plugins/BeamableCore/Source/BeamableCore/Public/AutoGen/FederationInfo.h +++ b/Plugins/BeamableCore/Source/BeamableCore/Public/AutoGen/FederationInfo.h @@ -3,7 +3,7 @@ #include "CoreMinimal.h" #include "Serialization/BeamJsonSerializable.h" -#include "BeamableCore/Public/AutoGen/Optionals/OptionalOptionalJsonNodeWrapper.h" +#include "Dom/JsonObject.h" #include "FederationInfo.generated.h" @@ -17,8 +17,7 @@ class BEAMABLECORE_API UFederationInfo : public UObject, public IBeamJsonSeriali FString Service = {}; UPROPERTY(EditAnywhere, BlueprintReadWrite, DisplayName="Namespace", Category="Beam") FString Namespace = {}; - UPROPERTY(EditAnywhere, BlueprintReadWrite, DisplayName="Settings", Category="Beam") - FOptionalOptionalJsonNodeWrapper Settings = {}; + TSharedPtr<FJsonObject> Settings = {}; diff --git a/Plugins/BeamableCore/Source/BeamableCore/Public/AutoGen/FederationInfoLibrary.h b/Plugins/BeamableCore/Source/BeamableCore/Public/AutoGen/FederationInfoLibrary.h index a35e64953..f73e34676 100644 --- a/Plugins/BeamableCore/Source/BeamableCore/Public/AutoGen/FederationInfoLibrary.h +++ b/Plugins/BeamableCore/Source/BeamableCore/Public/AutoGen/FederationInfoLibrary.h @@ -16,9 +16,9 @@ class BEAMABLECORE_API UFederationInfoLibrary : public UBlueprintFunctionLibrary UFUNCTION(BlueprintPure, Category="Beam|Json", DisplayName="Beam - FederationInfo To JSON String") static FString FederationInfoToJsonString(const UFederationInfo* Serializable, const bool Pretty); - UFUNCTION(BlueprintPure, Category="Beam|Backend", DisplayName="Beam - Make FederationInfo", meta=(DefaultToSelf="Outer", AdvancedDisplay="Settings, Outer", NativeMakeFunc)) - static UFederationInfo* Make(FString Service, FString Namespace, FOptionalOptionalJsonNodeWrapper Settings, UObject* Outer); + UFUNCTION(BlueprintPure, Category="Beam|Backend", DisplayName="Beam - Make FederationInfo", meta=(DefaultToSelf="Outer", AdvancedDisplay="Outer", NativeMakeFunc)) + static UFederationInfo* Make(FString Service, FString Namespace, UObject* Outer); UFUNCTION(BlueprintPure, Category="Beam|Backend", DisplayName="Beam - Break FederationInfo", meta=(NativeBreakFunc)) - static void Break(const UFederationInfo* Serializable, FString& Service, FString& Namespace, FOptionalOptionalJsonNodeWrapper& Settings); + static void Break(const UFederationInfo* Serializable, FString& Service, FString& Namespace); }; \ No newline at end of file diff --git a/Plugins/BeamableCore/Source/BeamableCore/Public/AutoGen/OptionalJsonNodeWrapper.h b/Plugins/BeamableCore/Source/BeamableCore/Public/AutoGen/OptionalJsonNodeWrapper.h deleted file mode 100644 index c5f708d7c..000000000 --- a/Plugins/BeamableCore/Source/BeamableCore/Public/AutoGen/OptionalJsonNodeWrapper.h +++ /dev/null @@ -1,25 +0,0 @@ -#pragma once - -#include "CoreMinimal.h" - -#include "Serialization/BeamJsonSerializable.h" -#include "BeamableCore/Public/AutoGen/Optionals/OptionalString.h" - -#include "OptionalJsonNodeWrapper.generated.h" - -UCLASS(BlueprintType, Category="Beam") -class BEAMABLECORE_API UOptionalJsonNodeWrapper : public UObject, public IBeamJsonSerializableUObject -{ - GENERATED_BODY() - -public: - UPROPERTY(EditAnywhere, BlueprintReadWrite, DisplayName="Node", Category="Beam") - FOptionalString Node = {}; - - - - virtual void BeamSerializeProperties(TUnrealJsonSerializer& Serializer) const override; - virtual void BeamSerializeProperties(TUnrealPrettyJsonSerializer& Serializer) const override; - virtual void BeamDeserializeProperties(const TSharedPtr<FJsonObject>& Bag) override; - -}; \ No newline at end of file diff --git a/Plugins/BeamableCore/Source/BeamableCore/Public/AutoGen/OptionalJsonNodeWrapperLibrary.h b/Plugins/BeamableCore/Source/BeamableCore/Public/AutoGen/OptionalJsonNodeWrapperLibrary.h deleted file mode 100644 index 3e7accb13..000000000 --- a/Plugins/BeamableCore/Source/BeamableCore/Public/AutoGen/OptionalJsonNodeWrapperLibrary.h +++ /dev/null @@ -1,24 +0,0 @@ -#pragma once - -#include "CoreMinimal.h" -#include "BeamableCore/Public/AutoGen/OptionalJsonNodeWrapper.h" - -#include "OptionalJsonNodeWrapperLibrary.generated.h" - - -UCLASS(BlueprintType, Category="Beam") -class BEAMABLECORE_API UOptionalJsonNodeWrapperLibrary : public UBlueprintFunctionLibrary -{ - GENERATED_BODY() - -public: - - UFUNCTION(BlueprintPure, Category="Beam|Json", DisplayName="Beam - OptionalJsonNodeWrapper To JSON String") - static FString OptionalJsonNodeWrapperToJsonString(const UOptionalJsonNodeWrapper* Serializable, const bool Pretty); - - UFUNCTION(BlueprintPure, Category="Beam|Backend", DisplayName="Beam - Make OptionalJsonNodeWrapper", meta=(DefaultToSelf="Outer", AdvancedDisplay="Node, Outer", NativeMakeFunc)) - static UOptionalJsonNodeWrapper* Make(FOptionalString Node, UObject* Outer); - - UFUNCTION(BlueprintPure, Category="Beam|Backend", DisplayName="Beam - Break OptionalJsonNodeWrapper", meta=(NativeBreakFunc)) - static void Break(const UOptionalJsonNodeWrapper* Serializable, FOptionalString& Node); -}; \ No newline at end of file diff --git a/Plugins/BeamableCore/Source/BeamableCore/Public/AutoGen/Optionals/OptionalOptionalJsonNodeWrapper.h b/Plugins/BeamableCore/Source/BeamableCore/Public/AutoGen/Optionals/OptionalOptionalJsonNodeWrapper.h deleted file mode 100644 index ccadd08a5..000000000 --- a/Plugins/BeamableCore/Source/BeamableCore/Public/AutoGen/Optionals/OptionalOptionalJsonNodeWrapper.h +++ /dev/null @@ -1,26 +0,0 @@ -#pragma once - -#include "CoreMinimal.h" -#include "Serialization/BeamOptional.h" -#include "BeamableCore/Public/AutoGen/OptionalJsonNodeWrapper.h" - -#include "OptionalOptionalJsonNodeWrapper.generated.h" - -// Has Native Make/Break require static blueprint pure functions to present as nodes that -// don't require an execution pin connection. This is super relevant for Blueprint UX. -USTRUCT(BlueprintType, meta=(HasNativeMake="/Script/BeamableCore.OptionalOptionalJsonNodeWrapperLibrary.MakeOptional", BeamOptionalType="UOptionalJsonNodeWrapper*")) -struct BEAMABLECORE_API FOptionalOptionalJsonNodeWrapper : public FBeamOptional -{ - GENERATED_BODY() - - UPROPERTY(BlueprintReadOnly, EditAnywhere) - UOptionalJsonNodeWrapper* Val; - - FOptionalOptionalJsonNodeWrapper(); - - explicit FOptionalOptionalJsonNodeWrapper(UOptionalJsonNodeWrapper* Val); - - virtual const void* GetAddr() const override; - - virtual void Set(const void* Data) override; -}; \ No newline at end of file diff --git a/Plugins/BeamableCore/Source/BeamableCore/Public/AutoGen/Optionals/OptionalOptionalJsonNodeWrapperLibrary.h b/Plugins/BeamableCore/Source/BeamableCore/Public/AutoGen/Optionals/OptionalOptionalJsonNodeWrapperLibrary.h deleted file mode 100644 index 65c32af07..000000000 --- a/Plugins/BeamableCore/Source/BeamableCore/Public/AutoGen/Optionals/OptionalOptionalJsonNodeWrapperLibrary.h +++ /dev/null @@ -1,48 +0,0 @@ -#pragma once - -#include "CoreMinimal.h" -#include "BeamableCore/Public/AutoGen/Optionals/OptionalOptionalJsonNodeWrapper.h" - -#include "OptionalOptionalJsonNodeWrapperLibrary.generated.h" - -UCLASS(BlueprintType) -class BEAMABLECORE_API UOptionalOptionalJsonNodeWrapperLibrary : public UBlueprintFunctionLibrary -{ - GENERATED_BODY() -public: - - /** - * @brief Constructs an FOptionalOptionalJsonNodeWrapper struct from the given value. - */ - UFUNCTION(BlueprintPure, Category="Beam|Optionals", meta=(DisplayName="Beam - Make Optional OptionalJsonNodeWrapper", NativeMakeFunc)) - static FOptionalOptionalJsonNodeWrapper MakeOptional(UOptionalJsonNodeWrapper* Value); - - /** - * @brief Converts an UOptionalJsonNodeWrapper* into an FOptionalOptionalJsonNodeWrapper automatically. - * @param Value The UOptionalJsonNodeWrapper* to convert. - * @return An optional with the OptionalJsonNodeWrapper set as it's value. - */ - UFUNCTION(BlueprintPure, Category="Beam|Optionals", meta = (DisplayName = "Beam - OptionalJsonNodeWrapper To Optional", CompactNodeTitle = "->", BlueprintAutocast)) - static FOptionalOptionalJsonNodeWrapper Conv_OptionalFromValue(UOptionalJsonNodeWrapper* Value); - - /** - * @brief Use this when the behavior changes based on whether or not a value is set on the optional. - * @param Optional The optional you wish to get data from. - * @param Value The value in the optional. - * @return Whether or not the value was set. We provide no guarantees on what the value is if the optional is not set. - */ - UFUNCTION(BlueprintCallable, Category="Beam|Optionals", meta=(DisplayName="Beam - Optional Has Value", ExpandBoolAsExecs="ReturnValue")) - static bool HasValue(const FOptionalOptionalJsonNodeWrapper& Optional, UOptionalJsonNodeWrapper*& Value); - - /** - * @brief Use this when the behaviour doesnt change based on whether or not the value is set, instead just provide a default value instead. - * @param Optional The optional you wish to get data from. - * @param DefaultValue The value that will be set if the Optional has no value in it. - * @param WasSet Whether or not the value was set. When false, the return value is the given DefaultValue. - * @return The default value, if the Optional IS NOT set. The optional value, otherwise. - */ - UFUNCTION(BlueprintPure, Category="Beam|Optionals", meta=(DisplayName="Beam - Get Optional's OptionalJsonNodeWrapper Value")) - static UOptionalJsonNodeWrapper* GetOptionalValue(const FOptionalOptionalJsonNodeWrapper& Optional, UOptionalJsonNodeWrapper* DefaultValue, bool& WasSet); - - -}; diff --git a/Plugins/BeamableCore/Source/BeamableCore/Public/AutoGen/SupportedFederation.h b/Plugins/BeamableCore/Source/BeamableCore/Public/AutoGen/SupportedFederation.h index 1a13f16ea..587852c1e 100644 --- a/Plugins/BeamableCore/Source/BeamableCore/Public/AutoGen/SupportedFederation.h +++ b/Plugins/BeamableCore/Source/BeamableCore/Public/AutoGen/SupportedFederation.h @@ -5,7 +5,7 @@ #include "Serialization/BeamJsonSerializable.h" #include "BeamableCore/Public/AutoGen/Enums/FederationType.h" #include "BeamableCore/Public/AutoGen/Optionals/OptionalString.h" -#include "BeamableCore/Public/AutoGen/Optionals/OptionalOptionalJsonNodeWrapper.h" +#include "Dom/JsonObject.h" #include "SupportedFederation.generated.h" @@ -17,10 +17,9 @@ class BEAMABLECORE_API USupportedFederation : public UObject, public IBeamJsonSe public: UPROPERTY(EditAnywhere, BlueprintReadWrite, DisplayName="Type", Category="Beam") EFederationType Type = {}; + TSharedPtr<FJsonObject> Settings = {}; UPROPERTY(EditAnywhere, BlueprintReadWrite, DisplayName="Name Space", Category="Beam") FOptionalString NameSpace = {}; - UPROPERTY(EditAnywhere, BlueprintReadWrite, DisplayName="Settings", Category="Beam") - FOptionalOptionalJsonNodeWrapper Settings = {}; diff --git a/Plugins/BeamableCore/Source/BeamableCore/Public/AutoGen/SupportedFederationLibrary.h b/Plugins/BeamableCore/Source/BeamableCore/Public/AutoGen/SupportedFederationLibrary.h index 87c7c905f..5de4d0267 100644 --- a/Plugins/BeamableCore/Source/BeamableCore/Public/AutoGen/SupportedFederationLibrary.h +++ b/Plugins/BeamableCore/Source/BeamableCore/Public/AutoGen/SupportedFederationLibrary.h @@ -16,9 +16,9 @@ class BEAMABLECORE_API USupportedFederationLibrary : public UBlueprintFunctionLi UFUNCTION(BlueprintPure, Category="Beam|Json", DisplayName="Beam - SupportedFederation To JSON String") static FString SupportedFederationToJsonString(const USupportedFederation* Serializable, const bool Pretty); - UFUNCTION(BlueprintPure, Category="Beam|Backend", DisplayName="Beam - Make SupportedFederation", meta=(DefaultToSelf="Outer", AdvancedDisplay="NameSpace, Settings, Outer", NativeMakeFunc)) - static USupportedFederation* Make(EFederationType Type, FOptionalString NameSpace, FOptionalOptionalJsonNodeWrapper Settings, UObject* Outer); + UFUNCTION(BlueprintPure, Category="Beam|Backend", DisplayName="Beam - Make SupportedFederation", meta=(DefaultToSelf="Outer", AdvancedDisplay="NameSpace, Outer", NativeMakeFunc)) + static USupportedFederation* Make(EFederationType Type, FOptionalString NameSpace, UObject* Outer); UFUNCTION(BlueprintPure, Category="Beam|Backend", DisplayName="Beam - Break SupportedFederation", meta=(NativeBreakFunc)) - static void Break(const USupportedFederation* Serializable, EFederationType& Type, FOptionalString& NameSpace, FOptionalOptionalJsonNodeWrapper& Settings); + static void Break(const USupportedFederation* Serializable, EFederationType& Type, FOptionalString& NameSpace); }; \ No newline at end of file