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) {}
|
|
|
|
};
|