OLS/Source/ols/Public/Messages/OLSVerbMessage.h

39 lines
1.1 KiB
C

// © 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<class UObject> Instigator = nullptr;
UPROPERTY(BlueprintReadWrite, Category=Gameplay)
TObjectPtr<class UObject> 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;
};