haxis/Source/UnrealProject/Abilities/TrailTrigger.h

41 lines
1.2 KiB
C++

// Project Lab - NHTV Igad
#pragma once
#include "Abilities/AbilityTriggerBase.h"
#include "TrailTrigger.generated.h"
/**
*
*/
UCLASS()
class UNREALPROJECT_API ATrailTrigger : public AAbilityTriggerBase
{
GENERATED_BODY()
public:
virtual void BeginPlay() override;
ATrailTrigger();
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Trigger", meta = (ClampMin = "0", UIMin = "0"))
float totalSpawnTime = 1.5f;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Trigger", meta = (ClampMin = "0", UIMin = "0"))
float lifeTime = 5.0f;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Trigger", meta = (ClampMin = "0", UIMin = "0"))
float colliderSpawnDistance = 50.0f;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Trigger", meta = (ClampMin = "0", UIMin = "0"))
float colliderRadius = 50.0f;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Trigger", meta = (ClampMin = "0", UIMin = "0"))
TSubclassOf<class AEffect> trailEffectClass;
virtual void Tick(float DeltaSeconds) override;
private:
void SpawnTrail(FVector offset, bool first = false);
float m_tickTimer = 0.0f;
FVector m_lastPos;
float m_totalTimer = 0.0f;
};