// © 2024 Long Ly. All rights reserved. Any unauthorized use, reproduction, or distribution of this trademark is strictly prohibited and may result in legal action. #pragma once #include "CoreMinimal.h" #include "GameplayTagContainer.h" #include "OLSVerbMessage.generated.h" // Represents a generic message of the form Instigator Verb Target (in Context, with Magnitude) USTRUCT(BlueprintType) struct FOLSVerbMessage { GENERATED_BODY() UPROPERTY(BlueprintReadWrite, Category=Gameplay) FGameplayTag Verb = FGameplayTag::EmptyTag; UPROPERTY(BlueprintReadWrite, Category=Gameplay) TObjectPtr Instigator = nullptr; UPROPERTY(BlueprintReadWrite, Category=Gameplay) TObjectPtr Target = nullptr; UPROPERTY(BlueprintReadWrite, Category=Gameplay) FGameplayTagContainer InstigatorTags; UPROPERTY(BlueprintReadWrite, Category=Gameplay) FGameplayTagContainer TargetTags; UPROPERTY(BlueprintReadWrite, Category=Gameplay) FGameplayTagContainer ContextTags; UPROPERTY(BlueprintReadWrite, Category=Gameplay) double Magnitude = 1.0; // Returns a debug string representation of this message OLS_API FString ToString() const; };