LEAP Documentation 40220
Documentation for the LEAP project
UPXProjectileMovementComponent Class Reference

#include <PXProjectileMovementComponent.h>

Inheritance diagram for UPXProjectileMovementComponent:
IObjectPoolInterface

Public Member Functions

virtual void Init ()
 
virtual void TickComponent (float DeltaTime, enum ELevelTick TickType, FActorComponentTickFunction *ThisTickFunction) override
 
virtual void OnReleasedToObjectPool () override
 
float GetSpeed () const
 
float CanBounce () const
 
bool IsHomingProjectile () const
 
bool IsDebug () const
 
EQualityMode GetQualityMode () const
 
bool UseExtentTrace () const
 
bool IsProjectileDestroyOnHit () const
 
void SetMaxSpeed (float InMaxSpeed)
 
void SetHomingTarget (USceneComponent *Target)
 
void SetAimTarget (USceneComponent *Target, float Falloff)
 
- Public Member Functions inherited from IObjectPoolInterface
virtual void OnSpawnedFromObjectPool ()
 
virtual void OnReleasedToObjectPool ()
 
void K2_OnSpawnedFromObjectPool ()
 
void K2_OnReleasedToObjectPool ()
 

Public Attributes

FAccelerateTowardsHomingSignature AcceleratingTowardsHomingTargetDelegate
 
bool bUpdateRotation = true
 

Protected Member Functions

virtual void PerformMovement (const float &DeltaTime)
 
bool ShouldIgnoreFriendlyTarget (const TArray< FHitResult > &Hits) const
 
FVector GetProjectileInitialDirection () const
 
virtual FVector ComputeHomingAcceleration (float DeltaTime) const
 
virtual EQualityMode GetCurrentQualityLevel ()
 
virtual void UpdateQualityLevel ()
 
virtual void NotifyHit (const FHitResult &Hit)
 
virtual void ApplyBulletWhip (float DeltaTime, const FVector &Start)
 

Static Protected Member Functions

static FVector CalculateReflectionVector (const FVector &Direction, const FVector &ImpactNormal)
 

Protected Attributes

float Speed = 0.f
 
float MaxSpeed = 0.f
 
bool bDebug = false
 
float GravityScale = 1.f
 
float ProjectileExtent = 0.f
 
USoundBase * BulletWhipSound = NULL
 
float BulletWhipSoundDistance = 500.f
 
bool bHasPlayedBulletWhip = false
 
bool bUseExtentTrace = false
 
bool bCanBounce = false
 
bool bStopOnDamageableHit = true
 
float BounceSpeedMultiplier = 0.5
 
bool bIsHomingProjectile = false
 
float HomingAccelerationMagnitude = 0.f
 
float MaxHomingDotDeviation = .25f
 
TArray< TWeakObjectPtr< AActor > > IgnoredActors
 
TWeakObjectPtr< USceneComponent > HomingTargetComponent = nullptr
 
TWeakObjectPtr< USceneComponent > AimTargetComponent = nullptr
 
float AimTargetFalloff = 1.0f
 
bool bIsLocallyControlled = false
 
EQualityMode QualityMode = EQualityMode::High
 
TSubclassOf< class UWeaponInstanceRangedOwningWeapon = nullptr
 

Friends

class AProjectile
 

Member Function Documentation

◆ ApplyBulletWhip()

void UPXProjectileMovementComponent::ApplyBulletWhip ( float  DeltaTime,
const FVector &  Start 
)
protectedvirtual

◆ CalculateReflectionVector()

FVector UPXProjectileMovementComponent::CalculateReflectionVector ( const FVector &  Direction,
const FVector &  ImpactNormal 
)
staticprotected

◆ CanBounce()

float UPXProjectileMovementComponent::CanBounce ( ) const
inline

◆ ComputeHomingAcceleration()

FVector UPXProjectileMovementComponent::ComputeHomingAcceleration ( float  DeltaTime) const
protectedvirtual

◆ GetCurrentQualityLevel()

EQualityMode UPXProjectileMovementComponent::GetCurrentQualityLevel ( )
protectedvirtual

◆ GetProjectileInitialDirection()

FVector UPXProjectileMovementComponent::GetProjectileInitialDirection ( ) const
protected

◆ GetQualityMode()

EQualityMode UPXProjectileMovementComponent::GetQualityMode ( ) const
inline

◆ GetSpeed()

float UPXProjectileMovementComponent::GetSpeed ( ) const
inline

◆ Init()

void UPXProjectileMovementComponent::Init ( )
virtual

◆ IsDebug()

bool UPXProjectileMovementComponent::IsDebug ( ) const
inline

◆ IsHomingProjectile()

bool UPXProjectileMovementComponent::IsHomingProjectile ( ) const
inline

◆ IsProjectileDestroyOnHit()

bool UPXProjectileMovementComponent::IsProjectileDestroyOnHit ( ) const
inline

◆ NotifyHit()

void UPXProjectileMovementComponent::NotifyHit ( const FHitResult &  Hit)
protectedvirtual

◆ OnReleasedToObjectPool()

void UPXProjectileMovementComponent::OnReleasedToObjectPool ( )
overridevirtual

Reimplemented from IObjectPoolInterface.

◆ PerformMovement()

void UPXProjectileMovementComponent::PerformMovement ( const float &  DeltaTime)
protectedvirtual

◆ SetAimTarget()

void UPXProjectileMovementComponent::SetAimTarget ( USceneComponent *  Target,
float  Falloff 
)
inline

◆ SetHomingTarget()

void UPXProjectileMovementComponent::SetHomingTarget ( USceneComponent *  Target)
inline

◆ SetMaxSpeed()

void UPXProjectileMovementComponent::SetMaxSpeed ( float  InMaxSpeed)
inline

◆ ShouldIgnoreFriendlyTarget()

bool UPXProjectileMovementComponent::ShouldIgnoreFriendlyTarget ( const TArray< FHitResult > &  Hits) const
protected

◆ TickComponent()

void UPXProjectileMovementComponent::TickComponent ( float  DeltaTime,
enum ELevelTick  TickType,
FActorComponentTickFunction *  ThisTickFunction 
)
overridevirtual

◆ UpdateQualityLevel()

void UPXProjectileMovementComponent::UpdateQualityLevel ( )
protectedvirtual

◆ UseExtentTrace()

bool UPXProjectileMovementComponent::UseExtentTrace ( ) const
inline

Friends And Related Function Documentation

◆ AProjectile

friend class AProjectile
friend

Member Data Documentation

◆ AcceleratingTowardsHomingTargetDelegate

FAccelerateTowardsHomingSignature UPXProjectileMovementComponent::AcceleratingTowardsHomingTargetDelegate

◆ AimTargetComponent

TWeakObjectPtr<USceneComponent> UPXProjectileMovementComponent::AimTargetComponent = nullptr
protected

◆ AimTargetFalloff

float UPXProjectileMovementComponent::AimTargetFalloff = 1.0f
protected

◆ bCanBounce

bool UPXProjectileMovementComponent::bCanBounce = false
protected

◆ bDebug

bool UPXProjectileMovementComponent::bDebug = false
protected

◆ bHasPlayedBulletWhip

bool UPXProjectileMovementComponent::bHasPlayedBulletWhip = false
protected

◆ bIsHomingProjectile

bool UPXProjectileMovementComponent::bIsHomingProjectile = false
protected

◆ bIsLocallyControlled

bool UPXProjectileMovementComponent::bIsLocallyControlled = false
protected

◆ BounceSpeedMultiplier

float UPXProjectileMovementComponent::BounceSpeedMultiplier = 0.5
protected

◆ bStopOnDamageableHit

bool UPXProjectileMovementComponent::bStopOnDamageableHit = true
protected

◆ BulletWhipSound

USoundBase* UPXProjectileMovementComponent::BulletWhipSound = NULL
protected

◆ BulletWhipSoundDistance

float UPXProjectileMovementComponent::BulletWhipSoundDistance = 500.f
protected

◆ bUpdateRotation

bool UPXProjectileMovementComponent::bUpdateRotation = true

◆ bUseExtentTrace

bool UPXProjectileMovementComponent::bUseExtentTrace = false
protected

◆ GravityScale

float UPXProjectileMovementComponent::GravityScale = 1.f
protected

◆ HomingAccelerationMagnitude

float UPXProjectileMovementComponent::HomingAccelerationMagnitude = 0.f
protected

◆ HomingTargetComponent

TWeakObjectPtr<USceneComponent> UPXProjectileMovementComponent::HomingTargetComponent = nullptr
protected

◆ IgnoredActors

TArray<TWeakObjectPtr<AActor> > UPXProjectileMovementComponent::IgnoredActors
protected

◆ MaxHomingDotDeviation

float UPXProjectileMovementComponent::MaxHomingDotDeviation = .25f
protected

◆ MaxSpeed

float UPXProjectileMovementComponent::MaxSpeed = 0.f
protected

◆ OwningWeapon

TSubclassOf<class UWeaponInstanceRanged> UPXProjectileMovementComponent::OwningWeapon = nullptr
protected

◆ ProjectileExtent

float UPXProjectileMovementComponent::ProjectileExtent = 0.f
protected

◆ QualityMode

EQualityMode UPXProjectileMovementComponent::QualityMode = EQualityMode::High
protected

◆ Speed

float UPXProjectileMovementComponent::Speed = 0.f
protected

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