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

#include <MortarProLineTraceProjectile.h>

+ Inheritance diagram for AMortarProLineTraceProjectile:
+ Collaboration diagram for AMortarProLineTraceProjectile:

Public Member Functions

 AMortarProLineTraceProjectile ()
 
float GetLineTraceSpeed () const
 
virtual float GetProjectileSpeed () override
 
virtual void SetAfterSpawnParam (const FMortarProAfterSpawnParam &AfterSpawnParam) override
 
void SetLineTraceSpeed (const float &Speed)
 
- 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 EnableComponents (const bool &bEnable) override
 
- 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 LineTraceSpeed = 1500.f
 
class UNiagaraSystem * NiagaraLaunchBlast = 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 LineTraceToTarget ()
 

Private Attributes

uint32 bEnableDebugTargetLineTrace: 1
 
float DrawTargetDebugLineDuration = 1.f
 
FTimerHandle LineTraceToTargetTimerHandle
 

Additional Inherited Members

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

Detailed Description

Projectile class Derived from MortarProBaseProjectile class. This class does only Line Trace towards the target location Instead of physically moving the projectile. Should be used where physical movement is not required like bullets. For missile and other complex projectiles MortarProPhysicalProjectile should be used.

Constructor & Destructor Documentation

◆ AMortarProLineTraceProjectile()

AMortarProLineTraceProjectile::AMortarProLineTraceProjectile ( )

Member Function Documentation

◆ ClearTimers()

virtual void AMortarProLineTraceProjectile::ClearTimers ( )
overrideprotectedvirtual

Clears All Timers of the projectile. Also Called on deactivation

Reimplemented from AMortarProPoolableActor.

◆ EnableComponents()

virtual void AMortarProLineTraceProjectile::EnableComponents ( const bool &  bEnable)
overrideprotectedvirtual

Enables/Disables All Components.This is also called when reactivating/deactivating actor for reusability

Parameters
[in]bEnableboolean flag true to Enable and false to Disable Components

Reimplemented from AMortarProPoolableActor.

◆ GetLineTraceSpeed()

float AMortarProLineTraceProjectile::GetLineTraceSpeed ( ) const

Speed of Line Trace. We calculate the time to hit the target and do line trace after that

Returns
Float Variable containg repel force

◆ GetProjectileSpeed()

virtual float AMortarProLineTraceProjectile::GetProjectileSpeed ( )
overridevirtual

Gets Projectile Speed

Returns
float variable containing speed

Reimplemented from AMortarProBaseProjectile.

◆ LineTraceToTarget()

void AMortarProLineTraceProjectile::LineTraceToTarget ( )
private

Line Trace To Target. If it hits a target then it will apply damage to the target actor

◆ SetAfterSpawnParam()

virtual void AMortarProLineTraceProjectile::SetAfterSpawnParam ( const FMortarProAfterSpawnParam AfterSpawnParam)
overridevirtual

Initializes Projectile params

Parameters
[in]AfterSpawnParamParameters to set after spawning
See also
FMortarProAfterSpawnParam

Reimplemented from AMortarProBaseProjectile.

◆ SetLineTraceSpeed()

void AMortarProLineTraceProjectile::SetLineTraceSpeed ( const float &  Speed)

Sets Speed of Line Trace. We cannot set speed directly we just calculate time to hit the target using this.

Parameters
[in]SpeedSpeed of Projectile

Member Data Documentation

◆ bEnableDebugTargetLineTrace

uint32 AMortarProLineTraceProjectile::bEnableDebugTargetLineTrace
private

Whether to Draw Debug line from starting position to target

◆ DrawTargetDebugLineDuration

float AMortarProLineTraceProjectile::DrawTargetDebugLineDuration = 1.f
private

Duration of Line trace from barrel to target

◆ LineTraceSpeed

float AMortarProLineTraceProjectile::LineTraceSpeed = 1500.f
protected

Speed of Line Trace. We calculate the time to hit the target and do line trace after that

◆ LineTraceToTargetTimerHandle

FTimerHandle AMortarProLineTraceProjectile::LineTraceToTargetTimerHandle
private

Timer Handle For Line Tracing to Target

◆ NiagaraLaunchBlast

class UNiagaraSystem* AMortarProLineTraceProjectile::NiagaraLaunchBlast = nullptr
protected

Niagara System That will be emitted on Launch of this actor from Mortar Gun


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