RealtimeStyleTransferRuntime/Source/LyraGame/Feedback/NumberPops/LyraNumberPopComponent.h

61 lines
1.7 KiB
C
Raw Permalink Normal View History

2022-05-23 18:41:30 +00:00
// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "Components/ControllerComponent.h"
#include "GameplayTagContainer.h"
2022-09-13 07:18:28 +00:00
#include "Math/UnrealMathSSE.h"
#include "Math/Vector.h"
#include "UObject/UObjectGlobals.h"
2022-05-23 18:41:30 +00:00
#include "LyraNumberPopComponent.generated.h"
2022-09-13 07:18:28 +00:00
class UObject;
struct FFrame;
2022-05-23 18:41:30 +00:00
USTRUCT(BlueprintType)
struct FLyraNumberPopRequest
{
GENERATED_BODY()
// The world location to create the number pop at
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Lyra|Number Pops")
FVector WorldLocation;
// Tags related to the source/cause of the number pop (for determining a style)
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Lyra|Number Pops")
FGameplayTagContainer SourceTags;
// Tags related to the target of the number pop (for determining a style)
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Lyra|Number Pops")
FGameplayTagContainer TargetTags;
// The number to display
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Lyra|Number Pops")
int32 NumberToDisplay = 0;
// Whether the number is 'critical' or not (@TODO: move to a tag)
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Lyra|Number Pops")
bool bIsCriticalDamage = false;
FLyraNumberPopRequest()
: WorldLocation(ForceInitToZero)
{
}
};
UCLASS(Abstract)
class ULyraNumberPopComponent : public UControllerComponent
{
GENERATED_BODY()
public:
ULyraNumberPopComponent(const FObjectInitializer& ObjectInitializer = FObjectInitializer::Get());
/** Adds a damage number to the damage number list for visualization */
UFUNCTION(BlueprintCallable, Category = Foo)
virtual void AddNumberPop(const FLyraNumberPopRequest& NewRequest) {}
};