Apparatus Version 1.8
ECS data-oriented workflow for Unreal Engine.
Public Member Functions | Protected Member Functions | Friends | List of all members
AMechanicalGameMode Class Reference

The game mode mechanism facility. More...

#include <MechanicalGameMode.h>

Inheritance diagram for AMechanicalGameMode:
Inheritance graph
[legend]
Collaboration diagram for AMechanicalGameMode:
Collaboration graph
[legend]

Public Member Functions

 AMechanicalGameMode ()
 Construct a new mechanism. More...
 
 ~AMechanicalGameMode ()
 Destroy the mechanism. More...
 
virtual float GetSteadyDeltaTime () const override
 Get the time interval for steady ticking. More...
 
virtual float GetOwnTime () const override
 Get own Mechanical's local life time. More...
 
virtual void Tick (float DeltaTime) override
 
float GetProcessedSteadyTime () const
 Get the time of the last processed steady frame. More...
 
float CalcSteadyFrameRatio () const
 The current ratio within the steady frame. More...
 
int64 GetSteadyFrame () const
 The current steady frame. More...
 
float GetSteadyTime () const
 The total steady time elapsed. More...
 
float CalcSteadyFutureFactor () const
 The current steady future factor. More...
 
- Public Member Functions inherited from IMechanical
UMechanismGetMechanism () const
 Get the mechanism this mechanical is part of. More...
 
FSubjectHandle SpawnSubject ()
 Spawn a new subject, returning its handle. More...
 
template<typename ChainT = TChain<TChunkIt<FSubjectHandle>, TBeltIt<FSubjectHandle>>>
ChainT * Enchain (const FFilter &InFilter) const
 Enchain iterables using the supplied filter. More...
 
TChain< TChunkIt< FSolidSubjectHandle >, TBeltIt< FSolidSubjectHandle > > * EnchainSolid (const FFilter &InFilter) const
 Solid-enchain iterables using the supplied filter. More...
 
void ReceiveBoot ()
 Process newly created subjects. More...
 
void ReceiveInputTick ()
 Process a pre-steady input tick. More...
 
void ReceiveSteadyTick (float DeltaSeconds)
 Process a fixed-rate steady tick. More...
 
void ReceivePresentationTick (float DeltaSeconds, float FrameRatio, float FutureFactor)
 Process a past-steady presentation tick. More...
 
virtual void Boot ()
 Process newly created subjects. More...
 
virtual void InputTick ()
 Process a pre-steady input tick. More...
 
virtual void SteadyTick (float DeltaTime)
 Process a fixed-rate steady tick. More...
 
virtual void PresentationTick (float DeltaSeconds, float FrameRatio, float FutureFactor)
 Process a past-steady presentation tick. More...
 
 IMechanical ()
 
float GetProcessedSteadyTime () const
 Get the time of the last processed steady frame. More...
 
float CalcSteadyFrameRatio () const
 The current ratio within the steady frame. More...
 
void GetSteadyFrame (int64 &OutFrame) const
 Get the current steady frame. More...
 
float GetSteadyTime () const
 Get the total steady time elapsed. More...
 
float CalcSteadyFutureFactor () const
 The current steady future factor. More...
 

Protected Member Functions

virtual void BeginPlay () override
 Begin executing the mechanism. More...
 
virtual void EndPlay (const EEndPlayReason::Type EndPlayReason) override
 End executing the mechanism. More...
 
- Protected Member Functions inherited from IMechanical
virtual void DoTick (float NewTime, float DeltaTime, float SteadyDeltaTime)
 Perform a standard ticking routine. More...
 
void DoRegister ()
 
void DoUnregister ()
 
float DoGetProcessedSteadyTime (float SteadyDeltaTime) const
 
float DoCalcSteadyFrameRatio (const float Time, const float SteadyDeltaTime) const
 
float DoCalcSteadyFutureFactor (const float Time, const float SteadyDeltaTime) const
 
float GetProcessedSteadyTime_Implementation () const
 
float CalcSteadyFrameRatio_Implementation () const
 
void GetSteadyFrame_Implementation (int64 &OutFrame) const
 
float CalcSteadyFutureFactor_Implementation () const
 
float GetSteadyTime_Implementation () const
 

Friends

class UDetail
 
class UBelt
 
class ISubjective
 

Additional Inherited Members

- Protected Attributes inherited from IMechanical
int64 SteadyFrame = 0
 The steady frame we are currently part of. More...
 
int64 ProcessedSteadyFrame = -1
 The last, actually processed steady frame. More...
 
float PrevTime = NAN
 The game time of the previous tick. More...
 
uint32 bInsideTick: 1
 Is this mechanism currently updating? More...
 
uint32 bInsideSteadyTick: 1
 Is this mechanism currently in the process of steady ticking? More...
 
uint32 bInsidePresentationTick: 1
 Is this mechanism currently in the process of presentation ticking? More...
 

Detailed Description

The game mode mechanism facility.

Constructor & Destructor Documentation

◆ AMechanicalGameMode()

AMechanicalGameMode::AMechanicalGameMode ( )
inline

Construct a new mechanism.

◆ ~AMechanicalGameMode()

AMechanicalGameMode::~AMechanicalGameMode ( )
inline

Destroy the mechanism.

Member Function Documentation

◆ BeginPlay()

void AMechanicalGameMode::BeginPlay ( )
inlineoverrideprotectedvirtual

Begin executing the mechanism.

◆ CalcSteadyFrameRatio()

float AMechanicalGameMode::CalcSteadyFrameRatio ( ) const
inline

The current ratio within the steady frame.

This is in relation between the previous steady frame and the current next one. Should be used for interframe interpolation.

◆ CalcSteadyFutureFactor()

float AMechanicalGameMode::CalcSteadyFutureFactor ( ) const
inline

The current steady future factor.

This is in relation between the previous change time delta to the next steady frame change delta time.

◆ EndPlay()

void AMechanicalGameMode::EndPlay ( const EEndPlayReason::Type  EndPlayReason)
inlineoverrideprotectedvirtual

End executing the mechanism.

◆ GetOwnTime()

virtual float AMechanicalGameMode::GetOwnTime ( ) const
inlineoverridevirtual

Get own Mechanical's local life time.

Should be overriden in the descendants.

Reimplemented from IMechanical.

◆ GetProcessedSteadyTime()

float AMechanicalGameMode::GetProcessedSteadyTime ( ) const
inline

Get the time of the last processed steady frame.

◆ GetSteadyDeltaTime()

virtual float AMechanicalGameMode::GetSteadyDeltaTime ( ) const
inlineoverridevirtual

Get the time interval for steady ticking.

Should be overriden in the descendants to provide a propertie's value.

Reimplemented from IMechanical.

◆ GetSteadyFrame()

int64 AMechanicalGameMode::GetSteadyFrame ( ) const
inline

The current steady frame.

◆ GetSteadyTime()

float AMechanicalGameMode::GetSteadyTime ( ) const
inline

The total steady time elapsed.

◆ Tick()

void AMechanicalGameMode::Tick ( float  DeltaTime)
inlineoverridevirtual

Friends And Related Function Documentation

◆ ISubjective

friend class ISubjective
friend

◆ UBelt

friend class UBelt
friend

◆ UDetail

friend class UDetail
friend

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