LEAP Documentation 40220
Documentation for the LEAP project
AOrbitalLaser Class Reference

#include <OrbitalLaser.h>

Inheritance diagram for AOrbitalLaser:
AWeaponInstanceActor IOwnedInterface ITeamInterface

Public Member Functions

float GetChargeTime () const
 
float GetFiringTime () const
 
float GetFinishingTime () const
 
EOrbitalLaserState GetState () const
 
float GetDamageRadius () const
 
float GetExplosionRadius () const
 
void SetExplosionRadius (float NewExplosionRadius)
 
- Public Member Functions inherited from AWeaponInstanceActor
virtual void EndPlay (const EEndPlayReason::Type EndPlayReason) override
 
virtual APlayerState * GetOwnedPlayerState () const override
 
virtual void OnOwnerLeave () override
 
virtual void SetWeaponInstanceClass (TSubclassOf< UWeaponInstance > WeaponInstanceClass)
 
APlayerState * GetPlayerOwner () const
 
virtual int32 GetTeam () const override
 
virtual AProjectXCharacterGetOwningPawn (AProjectXPlayerController *const OverrideController=nullptr) const
 
virtual UWeaponComponent * GetOwningWeaponComponent () const
 
bool IsLocallyOwned () const
 
FORCEINLINE TSubclassOf< UWeaponInstanceGetOwningWeaponClass () const
 
const UWeaponInstanceGetOwningWeaponCDO () const
 
template<class T >
const T * GetOwningWeaponCDO () const
 
- Public Member Functions inherited from IOwnedInterface
template<class T >
T * GetOwnedPlayerState () const
 
virtual APlayerState * GetOwnedPlayerState () const
 
template<class T >
T * GetOwningController () const
 
virtual AController * GetOwningController () const
 
virtual void OnOwnerLeave ()
 
virtual void OnOwnerDied ()
 
- Public Member Functions inherited from ITeamInterface
virtual int32 GetTeam () const
 
virtual int32 SetTeam (int32 NewTeam)
 

Protected Member Functions

virtual void BeginPlay () override
 
void UpdateState (EOrbitalLaserState NewState)
 
void CleanUp ()
 
void TraceOrbitalLaser ()
 
void OnRep_State ()
 
void OnChargingStart ()
 
void OnFiringStart ()
 
void OnFinishingStart ()
 
void Firing ()
 
void Explosion ()
 
void FiringComplete ()
 
void Charging ()
 
void Finishing ()
 
virtual void BeginPlay () override
 

Protected Attributes

FTimerHandle ChargingTimerHandle
 
FTimerHandle FinishingTimerHandle
 
FTimerHandle FiringTimerHandle
 
TArray< FHitResult > CachedHits
 
float FiringTime = 1.0f
 
float ChargeTime = 1.0f
 
float FinishDuration = 1.0f
 
TArray< TEnumAsByte< EObjectTypeQuery > > ObjectTypes
 
float LaserHeight = 1.0f
 
float DamageRadius = 1.0f
 
float BaseLaserDamage = 300.f
 
float MinDamage = 1.0f
 
float MaxDamageRadius = 200.0f
 
float DamageFallOff = 0.7
 
TSubclassOf< AActor > ActorToSpawnOnExplosion = NULL
 
EOrbitalLaserState State = EOrbitalLaserState::NONE
 
- Protected Attributes inherited from AWeaponInstanceActor
APlayerState * PlayerOwner = NULL
 
TSubclassOf< UWeaponInstanceOwningWeaponClass = NULL
 

Additional Inherited Members

- Static Public Member Functions inherited from ITeamInterface
static bool IsValidTeam (const ITeamInterface *const TeamInferface)
 

Member Function Documentation

◆ BeginPlay()

void AOrbitalLaser::BeginPlay ( )
overrideprotectedvirtual

Reimplemented from AWeaponInstanceActor.

◆ Charging()

void AOrbitalLaser::Charging ( )
protected

◆ CleanUp()

void AOrbitalLaser::CleanUp ( )
protected

◆ Explosion()

void AOrbitalLaser::Explosion ( )
protected

◆ Finishing()

void AOrbitalLaser::Finishing ( )
protected

◆ Firing()

void AOrbitalLaser::Firing ( )
protected

◆ FiringComplete()

void AOrbitalLaser::FiringComplete ( )
protected

◆ GetChargeTime()

float AOrbitalLaser::GetChargeTime ( ) const
inline

◆ GetDamageRadius()

float AOrbitalLaser::GetDamageRadius ( ) const
inline

◆ GetExplosionRadius()

float AOrbitalLaser::GetExplosionRadius ( ) const
inline

◆ GetFinishingTime()

float AOrbitalLaser::GetFinishingTime ( ) const
inline

◆ GetFiringTime()

float AOrbitalLaser::GetFiringTime ( ) const
inline

◆ GetState()

EOrbitalLaserState AOrbitalLaser::GetState ( ) const
inline

◆ OnChargingStart()

void AOrbitalLaser::OnChargingStart ( )
protected

◆ OnFinishingStart()

void AOrbitalLaser::OnFinishingStart ( )
protected

◆ OnFiringStart()

void AOrbitalLaser::OnFiringStart ( )
protected

◆ OnRep_State()

void AOrbitalLaser::OnRep_State ( )
protected

◆ SetExplosionRadius()

void AOrbitalLaser::SetExplosionRadius ( float  NewExplosionRadius)
inline

◆ TraceOrbitalLaser()

void AOrbitalLaser::TraceOrbitalLaser ( )
protected

◆ UpdateState()

void AOrbitalLaser::UpdateState ( EOrbitalLaserState  NewState)
protected

Member Data Documentation

◆ ActorToSpawnOnExplosion

TSubclassOf<AActor> AOrbitalLaser::ActorToSpawnOnExplosion = NULL
protected

◆ BaseLaserDamage

float AOrbitalLaser::BaseLaserDamage = 300.f
protected

Damage will not fall below this if within the laser range

◆ CachedHits

TArray<FHitResult> AOrbitalLaser::CachedHits
protected

◆ ChargeTime

float AOrbitalLaser::ChargeTime = 1.0f
protected

◆ ChargingTimerHandle

FTimerHandle AOrbitalLaser::ChargingTimerHandle
protected

◆ DamageFallOff

float AOrbitalLaser::DamageFallOff = 0.7
protected

Describes amount of exponential damage falloff

◆ DamageRadius

float AOrbitalLaser::DamageRadius = 1.0f
protected

Outside DamageRadius, no laser damage is applied

◆ FinishDuration

float AOrbitalLaser::FinishDuration = 1.0f
protected

◆ FinishingTimerHandle

FTimerHandle AOrbitalLaser::FinishingTimerHandle
protected

◆ FiringTime

float AOrbitalLaser::FiringTime = 1.0f
protected

◆ FiringTimerHandle

FTimerHandle AOrbitalLaser::FiringTimerHandle
protected

◆ LaserHeight

float AOrbitalLaser::LaserHeight = 1.0f
protected

◆ MaxDamageRadius

float AOrbitalLaser::MaxDamageRadius = 200.0f
protected

Within MaxDamageRadius, apply the laser's max damage

◆ MinDamage

float AOrbitalLaser::MinDamage = 1.0f
protected

Damage will not fall below this if within the laser range

◆ ObjectTypes

TArray<TEnumAsByte<EObjectTypeQuery> > AOrbitalLaser::ObjectTypes
protected

◆ State

EOrbitalLaserState AOrbitalLaser::State = EOrbitalLaserState::NONE
protected

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