Mortar Pro Plugin  Version 2
Modular Turret Plugin
All Classes Namespaces Functions Variables Enumerations Enumerator Pages
AMortarProMineProjectile Class Reference

#include <MortarProMineProjectile.h>

+ Inheritance diagram for AMortarProMineProjectile:
+ Collaboration diagram for AMortarProMineProjectile:

Public Member Functions

 AMortarProMineProjectile ()
 
void BPExplosionEvent ()
 
float GetBlastDelay () const
 
void SetBlastDelay (const float &Delay)
 
- Public Member Functions inherited from AMortarProPhysicalProjectile
 AMortarProPhysicalProjectile ()
 
bool GetDynamicDeactivateSpan () const
 
float GetInitialHomingTargetDelayPercent () const
 
void GetMinMaxHomingAcceleration (double &OutMinAcceleration, double &OutMaxAcceleration) const
 
float GetProjectileSpeed ()
 
virtual void SetAfterSpawnParam (const FMortarProAfterSpawnParam &AfterSpawnParam) override
 
void SetDynamicDeactivateSpan (const bool &bIsDynamic)
 
void SetInitialHomingTargetDelayPercent (const float &DelayPercent)
 
void SetMinMaxHomingAcceleration (const double &MinAcceleration, const double &MaxAcceleration)
 
- Public Member Functions inherited from AMortarProBaseProjectile
void BPOnImpactEvent ()
 
virtual float GetProjectileSpeed ()
 
virtual void SetAfterSpawnParam (const FMortarProAfterSpawnParam &AfterSpawnParam)
 
- Public Member Functions inherited from AMortarProPoolableActor
 AMortarProPoolableActor ()
 
virtual void DeActivateActor ()
 
virtual void ReActivateActor ()
 
virtual void SetDeactivateSpan (const float &Time)
 

Protected Member Functions

virtual void ClearTimers () override
 
virtual void InitializeBeforeSpawnParam () override
 
void OnHit (UPrimitiveComponent *HitComponent, AActor *OtherActor, UPrimitiveComponent *OtherComponent, FVector NormalImpulse, const FHitResult &Hit) override
 
- Protected Member Functions inherited from AMortarProPhysicalProjectile
virtual void BeginPlay () override
 
virtual void ClearTimers () override
 
virtual void EnableComponents (const bool &bEnable) override
 
virtual void InitializeBeforeSpawnParam () override
 
virtual void OnHit (UPrimitiveComponent *HitComponent, AActor *OtherActor, UPrimitiveComponent *OtherComponent, FVector NormalImpulse, const FHitResult &Hit)
 
virtual void RegisterEventsAndCallBacks ()
 
- Protected Member Functions inherited from AMortarProBaseProjectile
float GetDamageAsPerSurface (const EPhysicalSurface &SurfaceType)
 
virtual void InitializeBeforeSpawnParam () override
 
void PlayImpactSoundAndParticleEffectForSurface (const EPhysicalSurface &SurfaceType, const FVector &Location)
 
- Protected Member Functions inherited from AMortarProPoolableActor
virtual void BeginPlay () override
 
virtual void ClearTimers ()
 
virtual void EnableComponents (const bool &bEnable)
 
virtual void EndPlay (const EEndPlayReason::Type EndPlayReason) override
 
virtual void InitializeBeforeSpawnParam ()
 
virtual void StartTimers ()
 

Protected Attributes

float BlastDelay = 0.5f
 
class USoundBase * BlastSound
 
class UNiagaraSystem * NiagaraBombBlast = nullptr
 
- Protected Attributes inherited from AMortarProPhysicalProjectile
float AvgProjectileSpeed = 0.f
 
uint32 bAlreadyHit: 1
 
uint32 bDynamicDeactivateSpan: 1
 
float BufferDeactivateSpan = 2.f
 
UStaticMeshComponent * CollisionMesh = nullptr
 
ECollisionEnabled::Type CollisionMeshCollision
 
float DeactivateDelayAfterDamage = 0.1f
 
class URadialForceComponent * ExplosionForce = nullptr
 
float InitialHomingTargetDelayPercent = 0.0f
 
double MaxHomingAcceleration = 0
 
double MinHomingAcceleration = 0
 
class UNiagaraSystem * NiagaraLaunchBlast = nullptr
 
class UNiagaraComponent * NiagaraTrail = nullptr
 
class UMortarProProjectileMovementProjectileMovement = nullptr
 
class UMortarProSignificanceComponentSignificanceComponent {nullptr}
 
class UCurveFloat * VariableSpeedCurve { nullptr }
 
- Protected Attributes inherited from AMortarProBaseProjectile
TMap< TEnumAsByte< EPhysicalSurface >, float > DamageAsPerSurface
 
FMortarProAfterSpawnParam MortarAfterSpawnParam
 
TMap< TEnumAsByte< EPhysicalSurface >, class UNiagaraSystem * > NiagaraSurfaceImpact
 
TMap< TEnumAsByte< EPhysicalSurface >, class USoundBase * > SurfaceImpactSound
 
- Protected Attributes inherited from AMortarProPoolableActor
uint32 bIsActorActivated: 1
 

Private Member Functions

void ProjectileBlastTimer ()
 

Private Attributes

TArray< AActor * > IgnoredActor
 
FTimerHandle MineProjectileAfterDamageDeactivaterHandle
 
FTimerHandle ParticleBlastHandler
 
EPhysicalSurface SurfaceType
 

Additional Inherited Members

- Public Attributes inherited from AMortarProPhysicalProjectile
TMap< EMortarProSignificanceValue, float > SignifianceValue
 
- Public Attributes inherited from AMortarProPoolableActor
FMortarProActorActivated BeginActivation
 
FMortarProActorDeactivated BeginDeactivation
 
float DeactivateSpan = 10.f
 

Detailed Description

Mine Bomb Projectile class which blasts after some delay. The projectile considers gravity and to properly reach target enable gravity must be on in AimingComponent of MortarPro Pawn. Derived from AMortarProPhysicalProjectile

Constructor & Destructor Documentation

◆ AMortarProMineProjectile()

AMortarProMineProjectile::AMortarProMineProjectile ( )

Member Function Documentation

◆ BPExplosionEvent()

void AMortarProMineProjectile::BPExplosionEvent ( )

Event Called After On Hit This is a blueprintImplementableEvent which has to be used in blueprint

◆ ClearTimers()

virtual void AMortarProMineProjectile::ClearTimers ( )
overrideprotectedvirtual

Clears All Timers of the projectile. Also Called on deactivation

Reimplemented from AMortarProPhysicalProjectile.

◆ GetBlastDelay()

float AMortarProMineProjectile::GetBlastDelay ( ) const

Getter Function To get Delay time after which blast will occur

Returns
Time Delay in float

◆ InitializeBeforeSpawnParam()

virtual void AMortarProMineProjectile::InitializeBeforeSpawnParam ( )
overrideprotectedvirtual

Initializes All local Parameter before spawning. This is also called when reactivating actor for reusability

Reimplemented from AMortarProPhysicalProjectile.

◆ OnHit()

void AMortarProMineProjectile::OnHit ( UPrimitiveComponent *  HitComponent,
AActor *  OtherActor,
UPrimitiveComponent *  OtherComponent,
FVector  NormalImpulse,
const FHitResult &  Hit 
)
overrideprotectedvirtual

◆ ProjectileBlastTimer()

void AMortarProMineProjectile::ProjectileBlastTimer ( )
private

After How Long The Blast Will Occur

◆ SetBlastDelay()

void AMortarProMineProjectile::SetBlastDelay ( const float &  Delay)

Setter function to set blast delay

Parameters
[in]Delayafter which the bomb will blast

Member Data Documentation

◆ BlastDelay

float AMortarProMineProjectile::BlastDelay = 0.5f
protected

Delay AFter Which The Projectile Will Blast

◆ BlastSound

class USoundBase* AMortarProMineProjectile::BlastSound
protected

Sound Played on Particle Blast

◆ IgnoredActor

TArray<AActor*> AMortarProMineProjectile::IgnoredActor
private

Contains Ignored Actor List

◆ MineProjectileAfterDamageDeactivaterHandle

FTimerHandle AMortarProMineProjectile::MineProjectileAfterDamageDeactivaterHandle
private

Handle for after Damage projectile Deactivation Handle

◆ NiagaraBombBlast

class UNiagaraSystem* AMortarProMineProjectile::NiagaraBombBlast = nullptr
protected

Particle System That will be emitted when projectile blasts

◆ ParticleBlastHandler

FTimerHandle AMortarProMineProjectile::ParticleBlastHandler
private

Timer Handle For Blasting

◆ SurfaceType

EPhysicalSurface AMortarProMineProjectile::SurfaceType
private

Type of Surface the projectile has hit


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