5#include "CoreMinimal.h"
7#include "ProjectileExplosive.generated.h"
12 GENERATED_UCLASS_BODY()
15 virtual void OnSpawnedFromObjectPool()
override;
16 virtual void OnReleasedToObjectPool()
override;
17 void DelayedTimedExplosionExpired();
18 virtual int32 GetTicketUsageCount()
const override;
19 virtual float ApplyRadialDamage(UObject* WorldContextObject,
const FHitResult& HitInfo,
const FVector& TargetLocation, TArray<AActor*>& HitActors, ECollisionChannel DamagePreventionChannel = ECC_Visibility, AController* InstigatorController = NULL,
const UWeaponInstance*
Weapon = NULL)
const;
21 UFUNCTION(BlueprintCallable,BlueprintPure)
22 FORCEINLINE
float GetExplosiveDamage()
const {
return ExplosiveDamage; }
25 virtual void OnHit(AActor* SelfActor, AActor* OtherActor, FVector NormalImpulse,
const FHitResult& Hit)
override;
26 virtual void GenerateHitRequest(AActor* OtherActor, UPrimitiveComponent* OtherComp, FVector NormalImpulse,
const FHitResult& Hit,
const FRotator& CustomRotator = FRotator::ZeroRotator,
const TArray<AActor*> DamagedActors = TArray<AActor*>())
override;
29 UPROPERTY(EditDefaultsOnly, Category =
"Explosive Damage", meta = (AllowPrivateAccess =
true, DisplayName =
"Base Damage"))
30 float ExplosiveDamage = 0.f;
32 UPROPERTY(EditDefaultsOnly, Category = "Explosive Damage", meta = (AllowPrivateAccess = true, DisplayName = "Minimum Damage"))
33 float ExplosiveMinDamage = 0.f;
35 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Explosive Damage", meta = (AllowPrivateAccess = true, DisplayName = "Inner Radius"))
36 float ExplosiveInnerRadius = 0.f;
38 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Explosive Damage", meta = (AllowPrivateAccess = true, DisplayName = "Outer Radius"))
39 float ExplosiveOuterRadius = 0.f;
41 UPROPERTY(EditDefaultsOnly, Category = "Explosive Damage", meta = (AllowPrivateAccess = true, DisplayName = "Falloff Exponent"))
42 float ExplosiveFalloffExponent = 0.f;
44 UPROPERTY(EditDefaultsOnly, Category = "Explosive Damage", meta = (AllowPrivateAccess = true, DisplayName = "Damage Type"))
45 TSubclassOf<UDamageType> ExplosiveDamageType = NULL;
48 UPROPERTY(EditDefaultsOnly, Category = "Explosive Damage", meta = (AllowPrivateAccess = true))
49 bool bFinalBounceOnly = true;
52 UPROPERTY(EditDefaultsOnly, Category = "Explosive Damage", meta = (AllowPrivateAccess = true))
53 bool bCanBounceOffPawn = false;
56 UPROPERTY(EditDefaultsOnly, Category = "Explosive Damage", meta = (AllowPrivateAccess = true))
57 float DelayedExplosionTime = 0.0f;
60 FTimerHandle DelayedExplosionTimerHandle;
Definition: ProjectileExplosive.h:11
Definition: Projectile.h:18
Definition: WeaponInstance.h:220