2022-05-18 12:44:39 +00:00
|
|
|
// Fill out your copyright notice in the Description page of Project Settings.
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "CoreMinimal.h"
|
|
|
|
#include "Projectile.h"
|
|
|
|
#include "ProjectileRocket.generated.h"
|
|
|
|
|
|
|
|
/**
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
UCLASS()
|
|
|
|
class BLASTER_API AProjectileRocket : public AProjectile
|
|
|
|
{
|
|
|
|
GENERATED_BODY()
|
|
|
|
public:
|
|
|
|
AProjectileRocket();
|
2022-05-18 17:20:18 +00:00
|
|
|
virtual void Destroyed() override;
|
2022-05-18 12:44:39 +00:00
|
|
|
protected:
|
|
|
|
|
|
|
|
virtual void OnHit(UPrimitiveComponent* HitComp, AActor* OtherActor, UPrimitiveComponent* OtherComp, FVector NormalImpulse, const FHitResult& Hit) override;
|
2022-05-18 17:20:18 +00:00
|
|
|
virtual void BeginPlay() override;
|
|
|
|
void DestroyTimerFinished();
|
|
|
|
|
|
|
|
UPROPERTY(EditAnywhere)
|
|
|
|
class UNiagaraSystem* TrailSystem;
|
|
|
|
|
|
|
|
UPROPERTY()
|
|
|
|
class UNiagaraComponent* TrailSystemComponent;
|
|
|
|
|
|
|
|
UPROPERTY(EditAnywhere)
|
|
|
|
USoundCue* ProjectileLoop;
|
2022-05-18 12:44:39 +00:00
|
|
|
|
2022-05-18 17:20:18 +00:00
|
|
|
UPROPERTY()
|
|
|
|
UAudioComponent* ProjectileLoopComponent;
|
|
|
|
|
|
|
|
UPROPERTY(EditAnywhere)
|
|
|
|
USoundAttenuation* LoopingSoundAttenuation;
|
2022-05-19 09:10:41 +00:00
|
|
|
|
|
|
|
UPROPERTY(VisibleAnywhere)
|
|
|
|
class URocketMovementComponent* RocketMovementComponent;
|
|
|
|
|
2022-05-18 12:44:39 +00:00
|
|
|
private:
|
|
|
|
|
|
|
|
UPROPERTY(VisibleAnywhere)
|
|
|
|
UStaticMeshComponent* RocketMesh;
|
2022-05-18 17:20:18 +00:00
|
|
|
|
|
|
|
FTimerHandle DestroyTimer;
|
|
|
|
|
|
|
|
UPROPERTY(EditAnywhere)
|
|
|
|
float DestroyTime = 3.f;
|
2022-05-18 12:44:39 +00:00
|
|
|
};
|