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

#include <MortarProBeamAimingComponent.h>

+ Inheritance diagram for UMortarProBeamAimingComponent:
+ Collaboration diagram for UMortarProBeamAimingComponent:

Public Member Functions

void BeamProjectileDestroyed (AActor *Actor)
 
float GetAmmoReducerInitialDelay () const
 
float GetAmmoReducerRate () const
 
void ResetAimingRunTimeParameters () override
 
void SetAmmoReducerInitialDelay (const float &Delay)
 
void SetAmmoReducerRate (const float &Rate)
 
 UMortarProBeamAimingComponent ()
 
- Public Member Functions inherited from UMortarProAimingComponent
void FireAt (const FVector &AimLocation, AActor *TargetActor, TArray< AActor * > SecondaryTargetsRef)
 
void GetAllFiringSocketsName (TArray< FName > &SocketsName) const
 
EMortarProFiringState GetCurrentState () const
 
float GetDirectionThresholdComparision () const
 
void GetFiringCountForAllSockets (TMap< FName, int32 > &PerSocketFireCount) const
 
int32 GetFiringCountForSocket (const FName &SocketName) const
 
float GetInitialIdleEventDelay () const
 
void GetProjectile (TMap< FName, FMortarProGunSocketProperties > &OutProjectiles) const
 
float GetShotsSpreadDegree () const
 
bool HasAmmo () const
 
bool HasUnlimitedAmmo () const
 
void InitializeAiming (class UMortarProTurretMeshComponent *TurretToSet, class UMortarProBarrelMeshComponent *BarrelToSet, AActor *Owner)
 
bool IsGunGravityEnabled () const
 
bool IsPredictTargetPositionEnabled () const
 
virtual void ResetAimingRunTimeParameters ()
 
void SetDirectionThresholdComparision (const float &Threshold)
 
void SetFiringLeftForAllSockets (const TMap< FName, int32 > &PerSocketFireCount)
 
void SetFiringLeftForSocket (const FName &SocketName, const int32 &InFiringLeft)
 
void SetGunGravity (const bool &bGunGravity)
 
void SetIdle ()
 
void SetInitialIdleEventDelay (const float &Delay)
 
void SetPredictTargetPosition (const bool &bEnable)
 
void SetProjectile (const TMap< FName, FMortarProGunSocketProperties > &ProjectileToSet)
 
void SetShotsSpreadDegree (const float &ShotsSpread)
 
void SetUnlimitedAmmo (const bool &bUnlimited)
 
virtual void StopComponent ()
 
 UMortarProAimingComponent ()
 

Protected Member Functions

void Fire () override
 
void FireBeam ()
 
void SetBarrelState () override
 
void StopFiring () override
 
- Protected Member Functions inherited from UMortarProAimingComponent
virtual void BeginPlay () override
 
virtual void Fire ()
 
virtual void FireProjectile ()
 
class UMortarProPoolSubsystemGetValidSubSystem ()
 
bool IsMoving (const FVector &HitLocation)
 
virtual void SetBarrelState ()
 
virtual void StopFiring ()
 
virtual void TickComponent (float DeltaTime, ELevelTick TickType, FActorComponentTickFunction *ThisTickFunction) override
 

Private Member Functions

void AmmoReducerTimer ()
 
bool PreFire ()
 

Private Attributes

float AmmoReducerInitialDelay = 0.1f
 
float AmmoReducerRate = 0.1f
 
FTimerHandle AmmoReducerTimerHandle
 
uint32 bShotFired: 1
 

Additional Inherited Members

- Public Attributes inherited from UMortarProAimingComponent
FMortarProBeginAimingMovement BeginAimingMovementTowardsTarget
 
FMortarProBeginFire BeginFire
 
FMortarProBeginIdleState BeginIdleState
 
FMortarProEndAimingMovement EndAimingMovementTowardsTarget
 
FMortarProEndFiring EndFiring
 
FMortarProEndIdleState EndIdleState
 
- Protected Attributes inherited from UMortarProAimingComponent
uint32 bAmmoLeft: 1
 
class UMortarProBarrelMeshComponentBarrel = nullptr
 
uint32 bEnableGunGravity: 1
 
uint32 bEnablePredictTargetPosition: 1
 
uint32 bUnlimitedAmmo: 1
 
FVector CurrentAimDirection
 
EMortarProFiringState CurrentFiringState
 
FVector CurrentHitTargetLocation
 
FVector DefaultAimLocation
 
FName DefaultSocketName
 
class USoundBase * FireSound
 
float InitialIdleEventDelay = 4.f
 
float LastFireTime = 0
 
class AActor * OwnerActor
 
FString OwnerName
 
TMap< FName, FMortarProGunSocketPropertiesProjectileSpawnSockets
 
float ShotsSpreadDegree = 2.f
 
TWeakObjectPtr< AActor > TargetActor
 
class UMortarProTurretMeshComponentTurret = nullptr
 

Detailed Description

Aiming Component for shooting target in a continuous beam like a flame thrower or a laser beam

Constructor & Destructor Documentation

◆ UMortarProBeamAimingComponent()

UMortarProBeamAimingComponent::UMortarProBeamAimingComponent ( )

Member Function Documentation

◆ AmmoReducerTimer()

void UMortarProBeamAimingComponent::AmmoReducerTimer ( )
private

Timer Call back function for reducing ammo

◆ BeamProjectileDestroyed()

void UMortarProBeamAimingComponent::BeamProjectileDestroyed ( AActor *  Actor)

Callback function for Projectile actor when it is destroyed

Parameters
[in]ActorActor that is getting destroyed

◆ Fire()

void UMortarProBeamAimingComponent::Fire ( )
overrideprotectedvirtual

This method is called to fire a projectile from AI

Reimplemented from UMortarProAimingComponent.

◆ FireBeam()

void UMortarProBeamAimingComponent::FireBeam ( )
protected

After checking the condition before firing this function will be called to fire a beam projectile that will reside until no ammo is there or the target/owner is dead or the barrel is moving

◆ GetAmmoReducerInitialDelay()

float UMortarProBeamAimingComponent::GetAmmoReducerInitialDelay ( ) const

Returns Delay in float after which we decrease ammo

Returns
float variable containing delay

◆ GetAmmoReducerRate()

float UMortarProBeamAimingComponent::GetAmmoReducerRate ( ) const

Returns Rate in float by which we decrease ammo

Returns
float variable containing rate

◆ PreFire()

bool UMortarProBeamAimingComponent::PreFire ( )
private

Operations or Checks to perform before Firing

Returns
bool if firing can be done or not

◆ ResetAimingRunTimeParameters()

void UMortarProBeamAimingComponent::ResetAimingRunTimeParameters ( )
overridevirtual

Resets all Shooting runtime Parameters for Beam Shooting Mode It will also stop firing

Reimplemented from UMortarProAimingComponent.

◆ SetAmmoReducerInitialDelay()

void UMortarProBeamAimingComponent::SetAmmoReducerInitialDelay ( const float &  Delay)

Setter function to set delay in float after which we decrease ammo

Parameters
[in]Delayin float after which we decrease ammo count

◆ SetAmmoReducerRate()

void UMortarProBeamAimingComponent::SetAmmoReducerRate ( const float &  Rate)

Setter function to set Rate in float by which we decrease ammo

Parameters
[in]Ratein float by which we decrease ammo count

◆ SetBarrelState()

void UMortarProBeamAimingComponent::SetBarrelState ( )
overrideprotectedvirtual

Sets Barrel State like whether there is any ammo left,or gun is moving or beam firing

Reimplemented from UMortarProAimingComponent.

◆ StopFiring()

void UMortarProBeamAimingComponent::StopFiring ( )
overrideprotectedvirtual

Function called to stop Firing.Stop Existing Beam firing Also Call back function when Projectile Actor especially MortarProPoolable Actor is destroyed by user ideally it should not happen

Reimplemented from UMortarProAimingComponent.

Member Data Documentation

◆ AmmoReducerInitialDelay

float UMortarProBeamAimingComponent::AmmoReducerInitialDelay = 0.1f
private

Initial Delay after which we reduce the ammo

◆ AmmoReducerRate

float UMortarProBeamAimingComponent::AmmoReducerRate = 0.1f
private

Timer Rate by which reduce ammo

◆ AmmoReducerTimerHandle

FTimerHandle UMortarProBeamAimingComponent::AmmoReducerTimerHandle
private

Timer Handle for ammo reducer timer

◆ bShotFired

uint32 UMortarProBeamAimingComponent::bShotFired
private

Flag Denoting whether any shot was fired


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