Weaponry Assembly System
WAS
Loading...
Searching...
No Matches
UWeaponRuntimeGraph Class Reference

#include <WeaponRuntimeGraph.h>

+ Inheritance diagram for UWeaponRuntimeGraph:
+ Collaboration diagram for UWeaponRuntimeGraph:

Public Member Functions

template<typename ... Args>
void AbortExecution (auto &&Format, Args &&... args) const
 
void AbortExecution (FString &&Reason=FString(TEXT("No reason specified")))
 
FORCEINLINE void ClearContext ()
 
template<typename T , typename... Args>
TStackElement< T > CreateStackElement (Args &&... args)
 
void FinishExecution ()
 
TArray< const UWeaponRuntimeNode * > GetConstantNodes () const
 
FORCEINLINE const FWeaponExecutionContextGetDefaultExecutionContext () const
 
FORCEINLINE const FWeaponExecutionContextGetExecutionContext () const
 
FORCEINLINE const UWeaponAssetGetWeaponAsset () const
 
FORCEINLINE UObject * GetWorldContext () const
 
bool IsAborting () const
 
bool IsExecuting () const
 
void PrepareExecution (const FWeaponExecutionContext &Context, std::jmp_buf &AbortCheckpoint)
 
void Reset () const
 

Public Attributes

TArray< UWeaponRuntimeNode * > Nodes
 
const UWeaponAssetWeaponAsset
 

Protected Attributes

FString AbortReason
 
bool bAbortExecution = false
 
FDestructionStack DestructionStack
 
FWeaponExecutionContext ExecutionContext
 
std::jmp_buf * StackCheckPoint
 

Detailed Description

Runtime graph container for weapon node execution. Manages execution context, node collection, and abort state.

Member Function Documentation

◆ AbortExecution() [1/2]

template<typename ... Args>
void UWeaponRuntimeGraph::AbortExecution ( auto && Format,
Args &&... args ) const
inline

Aborts execution with formatted reason (printf-style).

◆ AbortExecution() [2/2]

void UWeaponRuntimeGraph::AbortExecution ( FString && Reason = FString(TEXT("No reason specified")))

Sets abort flag and preserves original abort reason.

◆ ClearContext()

FORCEINLINE void UWeaponRuntimeGraph::ClearContext ( )
inline

Clears execution context to default.

◆ CreateStackElement()

template<typename T , typename... Args>
TStackElement< T > UWeaponRuntimeGraph::CreateStackElement ( Args &&... args)
inline

◆ FinishExecution()

void UWeaponRuntimeGraph::FinishExecution ( )

◆ GetConstantNodes()

TArray< const UWeaponRuntimeNode * > UWeaponRuntimeGraph::GetConstantNodes ( ) const

Returns const array of all graph nodes.

◆ GetDefaultExecutionContext()

FORCEINLINE const FWeaponExecutionContext & UWeaponRuntimeGraph::GetDefaultExecutionContext ( ) const
inline

Returns default execution context from weapon asset.

◆ GetExecutionContext()

FORCEINLINE const FWeaponExecutionContext & UWeaponRuntimeGraph::GetExecutionContext ( ) const
inline

Returns current execution context.

◆ GetWeaponAsset()

FORCEINLINE const UWeaponAsset * UWeaponRuntimeGraph::GetWeaponAsset ( ) const
inline

Returns the owning weapon asset.

◆ GetWorldContext()

FORCEINLINE UObject * UWeaponRuntimeGraph::GetWorldContext ( ) const
inline

Returns world context from execution context.

◆ IsAborting()

bool UWeaponRuntimeGraph::IsAborting ( ) const
inline

Returns true if graph is aborting.

◆ IsExecuting()

bool UWeaponRuntimeGraph::IsExecuting ( ) const
inline

◆ PrepareExecution()

void UWeaponRuntimeGraph::PrepareExecution ( const FWeaponExecutionContext & Context,
std::jmp_buf & AbortCheckpoint )

◆ Reset()

void UWeaponRuntimeGraph::Reset ( ) const

Resets graph node state.

Member Data Documentation

◆ AbortReason

FString UWeaponRuntimeGraph::AbortReason
protected

Description of why execution was aborted.

◆ bAbortExecution

bool UWeaponRuntimeGraph::bAbortExecution = false
protected

Indicates graph has encountered a fatal error.

◆ DestructionStack

FDestructionStack UWeaponRuntimeGraph::DestructionStack
protected

◆ ExecutionContext

FWeaponExecutionContext UWeaponRuntimeGraph::ExecutionContext
protected

Runtime execution context with characteristics and modifications.

◆ Nodes

TArray<UWeaponRuntimeNode*> UWeaponRuntimeGraph::Nodes

All runtime nodes in the graph.

◆ StackCheckPoint

std::jmp_buf* UWeaponRuntimeGraph::StackCheckPoint
protected

◆ WeaponAsset

const UWeaponAsset* UWeaponRuntimeGraph::WeaponAsset

Reference to owning weapon asset.