diff --git a/Source/VisualU/Public/Scenario.h b/Source/VisualU/Public/Scenario.h index 30eb0f8..326a229 100644 --- a/Source/VisualU/Public/Scenario.h +++ b/Source/VisualU/Public/Scenario.h @@ -18,7 +18,7 @@ class USoundCue; * Describes UVisualSprite for UVisualRenderer. */ USTRUCT(BlueprintType) -struct FSprite +struct VISUALU_API FSprite { GENERATED_BODY() @@ -112,7 +112,7 @@ struct FSprite * Describes what background to display and what effect to use for transition. */ USTRUCT(BlueprintType) -struct FBackground +struct VISUALU_API FBackground { GENERATED_BODY() @@ -182,7 +182,7 @@ ENUM_CLASS_FLAGS(EScenarioMetaFlags) * Data that describes FScenario. */ USTRUCT(BlueprintType) -struct FVisualScenarioInfo : public FVisualInfo +struct VISUALU_API FVisualScenarioInfo : public FVisualInfo { GENERATED_BODY() diff --git a/Source/VisualU/Public/VisualTemplates.h b/Source/VisualU/Public/VisualTemplates.h index 59302f6..bc09027 100644 --- a/Source/VisualU/Public/VisualTemplates.h +++ b/Source/VisualU/Public/VisualTemplates.h @@ -31,7 +31,7 @@ concept HasMemberOfType = HasMemberOfTypeImpl::value; * Assigns values, in order, to the member variables of the object. */ template -VISUALU_API inline void UpdateMembers(T* Obj, V T::*... Pointers, const V&... Values) +inline void UpdateMembers(T* Obj, V T::*... Pointers, const V&... Values) { ((Obj->*Pointers = Values), ...); } diff --git a/Source/VisualU/Public/VisualVersioningSubsystem.h b/Source/VisualU/Public/VisualVersioningSubsystem.h index 8179e5b..7a255f4 100644 --- a/Source/VisualU/Public/VisualVersioningSubsystem.h +++ b/Source/VisualU/Public/VisualVersioningSubsystem.h @@ -5,6 +5,7 @@ #include "CoreMinimal.h" #include "Subsystems/LocalPlayerSubsystem.h" #include "Scenario.h" +#include "InfoAssignable.h" #include "Engine/DataTable.h" #include "VisualController.h" #include "VisualTemplates.h" @@ -72,7 +73,7 @@ class VISUALU_API UVisualVersioningSubsystem : public ULocalPlayerSubsystem FScenario* Scene = GetSceneChecked(DataTable, SceneName); FScenarioId Id{ Scene->GetOwner(), Scene->GetIndex() }; Versions.Add(Id, Scene->Info); - UpdateMembers(Scene->Info, Members, Values); + UpdateMembers(&Scene->Info, Members..., Values...); } /** @@ -86,7 +87,7 @@ class VISUALU_API UVisualVersioningSubsystem : public ULocalPlayerSubsystem check(Scene); FScenarioId Id{ Scene->GetOwner(), Scene->GetIndex() }; Versions.Add(Id, Scene->Info); - UpdateMembers(Scene->Info, Members, Values); + UpdateMembers(&Scene->Info, Members..., Values...); } /**