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

#include <MortarProGenericMeshComponent.h>

+ Inheritance diagram for UMortarProGenericMeshComponent:
+ Collaboration diagram for UMortarProGenericMeshComponent:

Public Member Functions

float GetDecelerateRotationRate () const
 
float GetMaxRecoilOffset () const
 
float GetMaxRecoilSpeed () const
 
float GetMaxRotationDegreesSpeed () const
 
void SetDecelerateRotationRate (const float &DecelerateRate)
 
void SetMaxRecoilOffset (const float &RecoilOffset)
 
void SetMaxRecoilSpeed (const float &MaxRecoilSpeed)
 
void SetMaxRotationDegreesSpeed (const float &Speed)
 
void StartRecoil ()
 
void StartRotation ()
 
void StopRotation ()
 
 UMortarProGenericMeshComponent ()
 

Protected Member Functions

virtual void BeginPlay () override
 

Protected Attributes

float DecelerateRotationRate = 45.f
 
int32 MaxRecoilOffset = 15
 
float MaxRecoilSpeed = 150.f
 
float MaxRotationDegreesSpeed = 500
 

Private Member Functions

void DecelerateRotationTimerFunction ()
 
void StartRecoilTimerFunction ()
 
void StartRotationTimerFunction ()
 

Private Attributes

uint32 bRecoilReverseOffset: 1
 
int32 CurrMeshOffset = 0
 
FTimerHandle DecelerateRotationTimerHandle
 
float DecelerateTimerRate = 0.5f
 
float OrignalMaxRotationDegreesSpeed = 0.f
 
float RecoilDuration = 0.1
 
float RecoilTime = 0.f
 
FTimerHandle RecoilTimerHandle
 
float SmoothedDeltaTime = 0.0f
 
float SmoothingFactor = 0.2f
 
FVector StartLocation
 
FTimerHandle StartRotationTimerHandle
 
FVector TargetLocation
 
float TimerRate = 0.01f
 

Detailed Description

This is the extra componenet of mortar. This is not compulsory in the main mortar pawn This allows us to add more meshwith some built in movement like rotation,recoil effect etc

Constructor & Destructor Documentation

◆ UMortarProGenericMeshComponent()

UMortarProGenericMeshComponent::UMortarProGenericMeshComponent ( )

Member Function Documentation

◆ BeginPlay()

virtual void UMortarProGenericMeshComponent::BeginPlay ( )
overrideprotectedvirtual

Called when the game starts or when spawned

◆ DecelerateRotationTimerFunction()

void UMortarProGenericMeshComponent::DecelerateRotationTimerFunction ( )
private

Reduces Rotation to 0.This is a call back function for stop rotation

◆ GetDecelerateRotationRate()

float UMortarProGenericMeshComponent::GetDecelerateRotationRate ( ) const

Getter Function To get Decelerate Rotation Rate

Returns
Decelerate Rate in float

◆ GetMaxRecoilOffset()

float UMortarProGenericMeshComponent::GetMaxRecoilOffset ( ) const

Getter Function To get Max Recoil Offset

Returns
Max Recoil Offset in float

◆ GetMaxRecoilSpeed()

float UMortarProGenericMeshComponent::GetMaxRecoilSpeed ( ) const

Getter Function To get Max Recoil Speed

Returns
Max Recoil Speed Per second in float

◆ GetMaxRotationDegreesSpeed()

float UMortarProGenericMeshComponent::GetMaxRotationDegreesSpeed ( ) const

Getter Function To get Max Rotation Degrees Per Second

Returns
Max Rotation Degrees Speed Per Second in float

◆ SetDecelerateRotationRate()

void UMortarProGenericMeshComponent::SetDecelerateRotationRate ( const float &  DecelerateRate)

Sets how fast mesh will decelerate when we stop rotation. This helps in achieving slow deceleration instead of abrupt stop param[in] DecelerateRate Rate by which decrease rotation

◆ SetMaxRecoilOffset()

void UMortarProGenericMeshComponent::SetMaxRecoilOffset ( const float &  RecoilOffset)

Sets how much mesh will go in negative x direction param[in] RecoilOffset telling how much will the mesh will move

◆ SetMaxRecoilSpeed()

void UMortarProGenericMeshComponent::SetMaxRecoilSpeed ( const float &  MaxRecoilSpeed)

Sets how fast mesh recoil in negative x direction param[in] Max Recoil speed per second denoting how fast will mesh go backwards

◆ SetMaxRotationDegreesSpeed()

void UMortarProGenericMeshComponent::SetMaxRotationDegreesSpeed ( const float &  Speed)

Sets Max Rotation Degrees Per Second for mesh. this defines how fast mesh will rotate around z axis param[in] MaxRotationDegrees Max Rotation Degrees speed that can be covered in a second

◆ StartRecoil()

void UMortarProGenericMeshComponent::StartRecoil ( )

Function to Start Recoil. All Movement Happens in tick

◆ StartRecoilTimerFunction()

void UMortarProGenericMeshComponent::StartRecoilTimerFunction ( )
private

Reduces Rotation to 0

◆ StartRotation()

void UMortarProGenericMeshComponent::StartRotation ( )

Function to Start Rotation

◆ StartRotationTimerFunction()

void UMortarProGenericMeshComponent::StartRotationTimerFunction ( )
private

Cllback Function for Mesh Rotation

◆ StopRotation()

void UMortarProGenericMeshComponent::StopRotation ( )

Function to Start Movement

Member Data Documentation

◆ bRecoilReverseOffset

uint32 UMortarProGenericMeshComponent::bRecoilReverseOffset
private

Flag to reverse movement of mesh to forward instead of backwards

◆ CurrMeshOffset

int32 UMortarProGenericMeshComponent::CurrMeshOffset = 0
private

Mesh Position Offset. That is where the mesh currently is

◆ DecelerateRotationRate

float UMortarProGenericMeshComponent::DecelerateRotationRate = 45.f
protected

How much to reduce rotation per second

◆ DecelerateRotationTimerHandle

FTimerHandle UMortarProGenericMeshComponent::DecelerateRotationTimerHandle
private

Timer Handle For Rotation Stopping

◆ DecelerateTimerRate

float UMortarProGenericMeshComponent::DecelerateTimerRate = 0.5f
private

Timer Rate for Deacceleration timer

◆ MaxRecoilOffset

int32 UMortarProGenericMeshComponent::MaxRecoilOffset = 15
protected

Maximum offset we will do for recoil effect for Mesh

◆ MaxRecoilSpeed

float UMortarProGenericMeshComponent::MaxRecoilSpeed = 150.f
protected

Maximum rotation speed of Mesh

◆ MaxRotationDegreesSpeed

float UMortarProGenericMeshComponent::MaxRotationDegreesSpeed = 500
protected

Maximum rotation speed of Mesh

◆ OrignalMaxRotationDegreesSpeed

float UMortarProGenericMeshComponent::OrignalMaxRotationDegreesSpeed = 0.f
private

Stores Copy of MaxRotationDegreesSpeed;

◆ RecoilDuration

float UMortarProGenericMeshComponent::RecoilDuration = 0.1
private

Duration for which recoil will happen

◆ RecoilTime

float UMortarProGenericMeshComponent::RecoilTime = 0.f
private

Current Recoil Time. Increments with Delta time

◆ RecoilTimerHandle

FTimerHandle UMortarProGenericMeshComponent::RecoilTimerHandle
private

Timer Handle For Recoiling

◆ SmoothedDeltaTime

float UMortarProGenericMeshComponent::SmoothedDeltaTime = 0.0f
private

Smoothed delta time for recoil calculation

◆ SmoothingFactor

float UMortarProGenericMeshComponent::SmoothingFactor = 0.2f
private

Smoothing factor for delta time smoothing

◆ StartLocation

FVector UMortarProGenericMeshComponent::StartLocation
private

Start Relative Location of generic Mesh

◆ StartRotationTimerHandle

FTimerHandle UMortarProGenericMeshComponent::StartRotationTimerHandle
private

Timer Handle For Starting Mesh Rotation

◆ TargetLocation

FVector UMortarProGenericMeshComponent::TargetLocation
private

Target Relative Location of generic Mesh. This is For Recoil

◆ TimerRate

float UMortarProGenericMeshComponent::TimerRate = 0.01f
private

Timer Rate for Rotation


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