LEAP Documentation 40220
Documentation for the LEAP project
AProjectileExplosive Class Reference

#include <ProjectileExplosive.h>

Inheritance diagram for AProjectileExplosive:
AProjectile AWeaponInstanceActor IObjectPoolInterface IOwnedInterface ITeamInterface

Public Member Functions

virtual void OnSpawnedFromObjectPool () override
 
virtual void OnReleasedToObjectPool () override
 
void DelayedTimedExplosionExpired ()
 
virtual int32 GetTicketUsageCount () const override
 
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
 
FORCEINLINE float GetExplosiveDamage () const
 
- Public Member Functions inherited from AProjectile
void Init (const int32 ID, const uint8 InShotID, class UWeaponInstanceProjectile *Weapon)
 
void AddIgnoredActor (AActor *ActorToIgnore)
 
FVector GetStartLocation () const
 
int32 GetProjectileID () const
 
bool ShouldSpawnActorOnHit () const
 
TSubclassOf< AActor > GetActorToSpawnOnHit () const
 
const TArray< FVector_NetQuantize > & GetProjectilePath () const
 
virtual int32 GetTicketUsageCount () const
 
FORCEINLINE class UDataTable * GetImpactEffectTable () const
 
void UpdateDamageModifier (float DamageModifierIn)
 
FORCEINLINE float GetDamageModifier () const
 
virtual bool Destroy (bool bNetForce=false, bool bShouldModifyLevel=true) override
 
bool IsReflectedProjectile () const
 
void SetReflectedProjectile (bool const bInReflectedProjectile)
 
- Public Member Functions inherited from AWeaponInstanceActor
virtual void EndPlay (const EEndPlayReason::Type EndPlayReason) override
 
virtual APlayerState * GetOwnedPlayerState () const override
 
virtual void OnOwnerLeave () override
 
virtual void SetWeaponInstanceClass (TSubclassOf< UWeaponInstance > WeaponInstanceClass)
 
APlayerState * GetPlayerOwner () const
 
virtual int32 GetTeam () const override
 
virtual AProjectXCharacterGetOwningPawn (AProjectXPlayerController *const OverrideController=nullptr) const
 
virtual UWeaponComponent * GetOwningWeaponComponent () const
 
bool IsLocallyOwned () const
 
FORCEINLINE TSubclassOf< UWeaponInstanceGetOwningWeaponClass () const
 
const UWeaponInstanceGetOwningWeaponCDO () const
 
template<class T >
const T * GetOwningWeaponCDO () const
 
- Public Member Functions inherited from IOwnedInterface
template<class T >
T * GetOwnedPlayerState () const
 
virtual APlayerState * GetOwnedPlayerState () const
 
template<class T >
T * GetOwningController () const
 
virtual AController * GetOwningController () const
 
virtual void OnOwnerLeave ()
 
virtual void OnOwnerDied ()
 
- Public Member Functions inherited from ITeamInterface
virtual int32 GetTeam () const
 
virtual int32 SetTeam (int32 NewTeam)
 
- Public Member Functions inherited from IObjectPoolInterface
virtual void OnSpawnedFromObjectPool ()
 
virtual void OnReleasedToObjectPool ()
 
void K2_OnSpawnedFromObjectPool ()
 
void K2_OnReleasedToObjectPool ()
 

Protected Member Functions

virtual void OnHit (AActor *SelfActor, AActor *OtherActor, FVector NormalImpulse, const FHitResult &Hit) override
 
virtual void GenerateHitRequest (AActor *OtherActor, UPrimitiveComponent *OtherComp, FVector NormalImpulse, const FHitResult &Hit, const FRotator &CustomRotator=FRotator::ZeroRotator, const TArray< AActor * > DamagedActors=TArray< AActor * >()) override
 
- Protected Member Functions inherited from AProjectile
virtual void BeginPlay () override
 
virtual void OnSpawnedFromObjectPool () override
 
virtual void OnReleasedToObjectPool () override
 
virtual void Tick (float DeltaTime) override
 
virtual void InitializeMovementComponent ()
 
virtual void OnHit (AActor *SelfActor, AActor *OtherActor, FVector NormalImpulse, const FHitResult &Hit)
 
virtual void GenerateHitRequest (AActor *OtherActor, UPrimitiveComponent *OtherComp, FVector NormalImpulse, const FHitResult &Hit, const FRotator &CustomRotator=FRotator::ZeroRotator, const TArray< AActor * > DamagedActors=TArray< AActor * >())
 
void UpdateProjectilePath ()
 
void Multicast_OnHit (AActor *SelfActor, AActor *OtherActor, const FVector &NormalImpulse, const FHitResult &Hit)
 
void OnAccelerationTowardsHomingTargetNotify (bool bIsAccelerating)
 
virtual void SpawnImpactEffect (const FHitResult &Hit, AActor *OtherActor, struct FDamageEvent const &DamageEvent, AController *EventInstigator, AActor *DamageCauser)
 
virtual void BeginPlay () override
 

Protected Attributes

float ExplosiveDamage = 0.f
 
float ExplosiveMinDamage = 0.f
 
float ExplosiveInnerRadius = 0.f
 
float ExplosiveOuterRadius = 0.f
 
float ExplosiveFalloffExponent = 0.f
 
TSubclassOf< UDamageType > ExplosiveDamageType = NULL
 
bool bFinalBounceOnly = true
 
bool bCanBounceOffPawn = false
 
float DelayedExplosionTime = 0.0f
 
FHitResult LastHit
 
FTimerHandle DelayedExplosionTimerHandle
 
- Protected Attributes inherited from AProjectile
float LingerTime3P = 0.2f
 
float LingerTime1P = 0.05f
 
float StartingCosmeticScaleMultiplier3P = 0.05f
 
float SmoothInterpSpeed3P = 3.0f
 
float ScaleLerpSpeed3P = 5.0f
 
float StartingCosmeticScaleMultiplier1P = 0.05f
 
float SmoothInterpSpeed1P = 1.0f
 
float ScaleLerpSpeed1P = 2.0f
 
int32 MaxBounces = 0
 
bool bSpawnedActorMatchesProjectileOrientation = false
 
bool bSpawnActorOnHit = false
 
class UMovementComponent * ProjectileMovement = NULL
 
float PathPointRate = 0.5f
 
class UDataTable * ImpactEffectTable = NULL
 
class UParticleSystem * TrailParticle = NULL
 
FRotator TrailRotation = FRotator::ZeroRotator
 
FVector TrailLocation = FVector::ZeroVector
 
TSubclassOf< AActor > ActorClassToSpawn
 
TArray< TWeakObjectPtr< AActor > > IgnoredActors
 
TWeakObjectPtr< AActor > HomingTarget = nullptr
 
TWeakObjectPtr< AActor > AimTarget = nullptr
 
float AimTargetFalloff = 1.0f
 
bool bLocallyOwnedProjectile = false
 
int32 CurrentBounces = 0
 
float LingerTime = 0.0f
 
bool bDestroyOnHit = false
 
bool bReflectedProjectile = false
 
float DamageModifier = 1.0f
 
FVector StartLocation = FVector(0)
 
TArray< FVector_NetQuantize > ProjectilePath = TArray<FVector_NetQuantize>()
 
FTimerHandle PathCollectionTimer
 
int32 ProjectileID = INDEX_NONE
 
uint8 ShotID
 
float InitialSpeed = 0.0f
 
class UParticleSystemComponent * TrailParticleSystem = NULL
 
class TArray< TWeakObjectPtr< UMeshComponent > > MeshComponents
 
UPXProjectileMovementComponentMovementComponent = nullptr
 
class ULightComponent * LightComponent = NULL
 
- Protected Attributes inherited from AWeaponInstanceActor
APlayerState * PlayerOwner = NULL
 
TSubclassOf< UWeaponInstanceOwningWeaponClass = NULL
 

Additional Inherited Members

- Static Public Member Functions inherited from ITeamInterface
static bool IsValidTeam (const ITeamInterface *const TeamInferface)
 
- Public Attributes inherited from AProjectile
FImpactSignature OnImpact
 
FTransform CosmeticTransform = FTransform::Identity
 

Member Function Documentation

◆ ApplyRadialDamage()

float AProjectileExplosive::ApplyRadialDamage ( UObject *  WorldContextObject,
const FHitResult &  HitInfo,
const FVector &  TargetLocation,
TArray< AActor * > &  HitActors,
ECollisionChannel  DamagePreventionChannel = ECC_Visibility,
AController *  InstigatorController = NULL,
const UWeaponInstance Weapon = NULL 
) const
virtual

◆ DelayedTimedExplosionExpired()

void AProjectileExplosive::DelayedTimedExplosionExpired ( )

◆ GenerateHitRequest()

void AProjectileExplosive::GenerateHitRequest ( AActor *  OtherActor,
UPrimitiveComponent *  OtherComp,
FVector  NormalImpulse,
const FHitResult &  Hit,
const FRotator &  CustomRotator = FRotator::ZeroRotator,
const TArray< AActor * >  DamagedActors = TArray<AActor*>() 
)
overrideprotectedvirtual

Reimplemented from AProjectile.

◆ GetExplosiveDamage()

FORCEINLINE float AProjectileExplosive::GetExplosiveDamage ( ) const
inline

◆ GetTicketUsageCount()

int32 AProjectileExplosive::GetTicketUsageCount ( ) const
overridevirtual

Reimplemented from AProjectile.

◆ OnHit()

void AProjectileExplosive::OnHit ( AActor *  SelfActor,
AActor *  OtherActor,
FVector  NormalImpulse,
const FHitResult &  Hit 
)
overrideprotectedvirtual

Reimplemented from AProjectile.

◆ OnReleasedToObjectPool()

void AProjectileExplosive::OnReleasedToObjectPool ( )
overridevirtual

Reimplemented from AProjectile.

◆ OnSpawnedFromObjectPool()

void AProjectileExplosive::OnSpawnedFromObjectPool ( )
overridevirtual

Reimplemented from AProjectile.

Member Data Documentation

◆ bCanBounceOffPawn

bool AProjectileExplosive::bCanBounceOffPawn = false
protected

◆ bFinalBounceOnly

bool AProjectileExplosive::bFinalBounceOnly = true
protected

◆ DelayedExplosionTime

float AProjectileExplosive::DelayedExplosionTime = 0.0f
protected

◆ DelayedExplosionTimerHandle

FTimerHandle AProjectileExplosive::DelayedExplosionTimerHandle
protected

◆ ExplosiveDamage

float AProjectileExplosive::ExplosiveDamage = 0.f
protected

◆ ExplosiveDamageType

TSubclassOf<UDamageType> AProjectileExplosive::ExplosiveDamageType = NULL
protected

◆ ExplosiveFalloffExponent

float AProjectileExplosive::ExplosiveFalloffExponent = 0.f
protected

◆ ExplosiveInnerRadius

float AProjectileExplosive::ExplosiveInnerRadius = 0.f
protected

◆ ExplosiveMinDamage

float AProjectileExplosive::ExplosiveMinDamage = 0.f
protected

◆ ExplosiveOuterRadius

float AProjectileExplosive::ExplosiveOuterRadius = 0.f
protected

◆ LastHit

FHitResult AProjectileExplosive::LastHit
protected

The documentation for this class was generated from the following files: