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

#include <MortarProSemiAutoAimingComponent.h>

+ Inheritance diagram for UMortarProSemiAutoAimingComponent:
+ Collaboration diagram for UMortarProSemiAutoAimingComponent:

Public Member Functions

void Fire () override
 
float GetReloadTimeInSeconds () const
 
bool IsReloading ()
 
void ResetAimingRunTimeParameters () override
 
void SetBarrelState () override
 
void SetReloadTimeInSeconds (const float &ReloadTime)
 
 UMortarProSemiAutoAimingComponent ()
 
- 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 BeginPlay () 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
 

Protected Attributes

float ReloadTimeInSeconds = 1.5f
 
- 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
 

Private Member Functions

bool PreFire ()
 

Private Attributes

float OriginalReloadTimeInSeconds = 0.5f
 

Additional Inherited Members

- Public Attributes inherited from UMortarProAimingComponent
FMortarProBeginAimingMovement BeginAimingMovementTowardsTarget
 
FMortarProBeginFire BeginFire
 
FMortarProBeginIdleState BeginIdleState
 
FMortarProEndAimingMovement EndAimingMovementTowardsTarget
 
FMortarProEndFiring EndFiring
 
FMortarProEndIdleState EndIdleState
 

Detailed Description

Aiming Component for shooting target in semi automatic manner that is one after another . After each shot there is reload delay To use this component class of aiming component has to be changed in blueprint

Constructor & Destructor Documentation

◆ UMortarProSemiAutoAimingComponent()

UMortarProSemiAutoAimingComponent::UMortarProSemiAutoAimingComponent ( )

Member Function Documentation

◆ BeginPlay()

void UMortarProSemiAutoAimingComponent::BeginPlay ( )
overrideprotectedvirtual

Function called on play.

Reimplemented from UMortarProAimingComponent.

◆ Fire()

void UMortarProSemiAutoAimingComponent::Fire ( )
overridevirtual

This method is called to fire a projectile from AI

Reimplemented from UMortarProAimingComponent.

◆ GetReloadTimeInSeconds()

float UMortarProSemiAutoAimingComponent::GetReloadTimeInSeconds ( ) const

Gets Reload Time for The Mortar Gun i.e Time Delay between each shot

Returns
Float variable containing reload time in seconds

◆ IsReloading()

bool UMortarProSemiAutoAimingComponent::IsReloading ( )

Checks if Firing can be done by comparing the last fire time with current time and checking with reload time

Returns
true if last fire time - current time is greater than reload time false otherwise

◆ PreFire()

bool UMortarProSemiAutoAimingComponent::PreFire ( )
private

Operations or Checks to perform before Firing

Returns
bool if firing can be done or not

◆ ResetAimingRunTimeParameters()

void UMortarProSemiAutoAimingComponent::ResetAimingRunTimeParameters ( )
overridevirtual

Resets all Shooting runtime Parameters for Burst Shooting Modes. It will also stop firing and resets cooldown period

Reimplemented from UMortarProAimingComponent.

◆ SetBarrelState()

void UMortarProSemiAutoAimingComponent::SetBarrelState ( )
overridevirtual

Sets Barrel State like whether there is any ammo left,or gun is moving etc.

Reimplemented from UMortarProAimingComponent.

◆ SetReloadTimeInSeconds()

void UMortarProSemiAutoAimingComponent::SetReloadTimeInSeconds ( const float &  ReloadTime)

Sets Time Delay between each shots @ param[in] ReloadTime Float variable containing reload Time

Member Data Documentation

◆ OriginalReloadTimeInSeconds

float UMortarProSemiAutoAimingComponent::OriginalReloadTimeInSeconds = 0.5f
private

Original Reload Time In Seconds

◆ ReloadTimeInSeconds

float UMortarProSemiAutoAimingComponent::ReloadTimeInSeconds = 1.5f
protected

Time Delay Between each shots


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