// © 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 "NativeGameplayTags.h" #include "OLSNotificationMessage.generated.h" OLS_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(TAG_OLS_AddNotification_Message); // A message destined for a transient log (e.g., an elimination feed or inventory pickup stream) USTRUCT(BlueprintType) struct OLS_API FLyraNotificationMessage { GENERATED_BODY() // The destination channel UPROPERTY(BlueprintReadWrite, Category=Notification) FGameplayTag TargetChannel = FGameplayTag::EmptyTag; // The target player (if none is set then it will display for all local players) UPROPERTY(BlueprintReadWrite, Category=Notification) TObjectPtr TargetPlayer = nullptr; // The message to display UPROPERTY(BlueprintReadWrite, Category=Notification) FText PayloadMessage; // Extra payload specific to the target channel (e.g., a style or definition asset) UPROPERTY(BlueprintReadWrite, Category=Notification) FGameplayTag PayloadTag = FGameplayTag::EmptyTag; // Extra payload specific to the target channel (e.g., a style or definition asset) UPROPERTY(BlueprintReadWrite, Category=Notification) TObjectPtr PayloadObject = nullptr; };