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

#include <MortarProBaseProjectile.h>

+ Inheritance diagram for AMortarProBaseProjectile:
+ Collaboration diagram for AMortarProBaseProjectile:

Public Member Functions

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

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

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
 

Additional Inherited Members

- Public Attributes inherited from AMortarProPoolableActor
FMortarProActorActivated BeginActivation
 
FMortarProActorDeactivated BeginDeactivation
 
float DeactivateSpan = 10.f
 

Detailed Description

Base Class for Projectile class Derived from PoolableActor class. Projectiles should be derived from this

Member Function Documentation

◆ BPOnImpactEvent()

void AMortarProBaseProjectile::BPOnImpactEvent ( )

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

◆ GetDamageAsPerSurface()

float AMortarProBaseProjectile::GetDamageAsPerSurface ( const EPhysicalSurface &  SurfaceType)
protected

Gets Damage Per Surface Type.

Parameters
[in]SurfaceTypeType of Surface that can be set in project settings
Returns
float variable returning Damage

◆ GetProjectileSpeed()

virtual float AMortarProBaseProjectile::GetProjectileSpeed ( )
inlinevirtual

Gets Projectile Speed

Returns
float variable containing speed

Reimplemented in AMortarProPhysicalProjectile, and AMortarProLineTraceProjectile.

◆ InitializeBeforeSpawnParam()

virtual void AMortarProBaseProjectile::InitializeBeforeSpawnParam ( )
overrideprotectedvirtual

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

Reimplemented from AMortarProPoolableActor.

Reimplemented in AMortarProBeamProjectile, AMortarProMineProjectile, AMortarProPhysicalProjectile, and AMortarProSplitProjectile.

◆ PlayImpactSoundAndParticleEffectForSurface()

void AMortarProBaseProjectile::PlayImpactSoundAndParticleEffectForSurface ( const EPhysicalSurface &  SurfaceType,
const FVector &  Location 
)
protected

Plays Hit impact particle effect and sound for the mentioned surface

Parameters
[in]SurfaceTypeType of Surface that can be set in project settings
[in]LocationPlace at which we will spawn niagara effect and sound

◆ SetAfterSpawnParam()

virtual void AMortarProBaseProjectile::SetAfterSpawnParam ( const FMortarProAfterSpawnParam AfterSpawnParam)
virtual

Initializes Projectile params

Parameters
[in]AfterSpawnParamParameters to Set After Spawning

Reimplemented in AMortarProBeamProjectile, AMortarProLineTraceProjectile, AMortarProPhysicalProjectile, and AMortarProSplitProjectile.

Member Data Documentation

◆ DamageAsPerSurface

TMap<TEnumAsByte<EPhysicalSurface>, float> AMortarProBaseProjectile::DamageAsPerSurface
protected

Damage Per Surface

◆ MortarAfterSpawnParam

FMortarProAfterSpawnParam AMortarProBaseProjectile::MortarAfterSpawnParam
protected

Reference for target Actor

◆ NiagaraSurfaceImpact

TMap<TEnumAsByte<EPhysicalSurface>, class UNiagaraSystem*> AMortarProBaseProjectile::NiagaraSurfaceImpact
protected

Particle System That will be emitted on impact This system can be different for each physical surface

◆ SurfaceImpactSound

TMap<TEnumAsByte<EPhysicalSurface>, class USoundBase*> AMortarProBaseProjectile::SurfaceImpactSound
protected

Sound Played on Particle Hit. Will be different for each surface


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