Apparatus Version 1.0.0
ECS-like data-driven workflow for Unreal Engine.
Static Public Member Functions | Friends | List of all members
UMechanism Class Reference

The main Mechanism function library. More...

#include <Mechanism.h>

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

Static Public Member Functions

static const TSet< TWeakInterfacePtr< ISubjective > > & GetAll ()
 All of the subjectives currently available and registered. More...
 
static const TArray< TWeakInterfacePtr< ISubjective > > & GetAllNotBooted ()
 All of the subjectives available that are not yet booted. More...
 
static void GetBeltsMatchingFingerprint (const struct FFingerprint &Fingerprint, TArray< class UBelt * > &OutBelts)
 Get all of the belts matching a fingerprint. More...
 
static void FindMatchingBelts (const struct FFilter &Filter, TArray< class UBelt * > &OutBelts)
 Get all of the belts matching a filter. More...
 
static void BootAll ()
 Boot all of the subjectives currently available. More...
 
static class UBeltBufferBelt (UObject *Mechanical, class UBelt *Belt, const FFilter &Filter)
 Buffer a single belt with a filter. More...
 
static class UBeltBufferBelts (UObject *Mechanical, const TArray< class UBelt * > &TargetBelts, const FFilter &Filter)
 Buffer multiple belts with a filter. More...
 
static void HandleChange (TScriptInterface< ISubjective > Subjective)
 Handle the subjective change. More...
 
static void HandleChange (TScriptInterface< ISubjective > Subjective, const TArray< UDetail * > &Details)
 Handle the subjective change, supplying its new details. More...
 
static void RegisterSubjective (TScriptInterface< ISubjective > Subjective)
 Register a subjective within the mechanism. More...
 
static void UnregisterSubjective (TScriptInterface< ISubjective > Subjective)
 Remove a subjective from the mechanism completely. More...
 
static class UBeltObtainMostSpecificBelt (UObject *BeltOwner, TScriptInterface< ISubjective > Subjective)
 Find or create the most specific belt for a subject. More...
 
static class UMechanismGetInstance ()
 Get the global mechanism instance. More...
 
static void RegisterMechanical (TScriptInterface< IMechanical > Mechanical)
 Register a mechanical within the mechanism. More...
 
static void UnregisterMechanical (TScriptInterface< IMechanical > Mechanical)
 Unregister a mechanical from the mechanism. More...
 

Friends

class UBelt
 

Detailed Description

The main Mechanism function library.

Member Function Documentation

◆ BootAll()

void UMechanism::BootAll ( )
static

Boot all of the subjectives currently available.

◆ BufferBelt()

class UBelt * UMechanism::BufferBelt ( UObject *  Mechanical,
class UBelt Belt,
const FFilter Filter 
)
inlinestatic

Buffer a single belt with a filter.

◆ BufferBelts()

class UBelt * UMechanism::BufferBelts ( UObject *  Mechanical,
const TArray< class UBelt * > &  TargetBelts,
const FFilter Filter 
)
inlinestatic

Buffer multiple belts with a filter.

◆ FindMatchingBelts()

void UMechanism::FindMatchingBelts ( const struct FFilter Filter,
TArray< class UBelt * > &  OutBelts 
)
inlinestatic

Get all of the belts matching a filter.

◆ GetAll()

static const TSet<TWeakInterfacePtr<ISubjective> >& UMechanism::GetAll ( )
inlinestatic

All of the subjectives currently available and registered.

◆ GetAllNotBooted()

static const TArray<TWeakInterfacePtr<ISubjective> >& UMechanism::GetAllNotBooted ( )
inlinestatic

All of the subjectives available that are not yet booted.

◆ GetBeltsMatchingFingerprint()

void UMechanism::GetBeltsMatchingFingerprint ( const struct FFingerprint Fingerprint,
TArray< class UBelt * > &  OutBelts 
)
inlinestatic

Get all of the belts matching a fingerprint.

◆ GetInstance()

static class UMechanism* UMechanism::GetInstance ( )
inlinestatic

Get the global mechanism instance.

Mechanism will be a root set object.

◆ HandleChange() [1/2]

void UMechanism::HandleChange ( TScriptInterface< ISubjective Subjective)
inlinestatic

Handle the subjective change.

◆ HandleChange() [2/2]

void UMechanism::HandleChange ( TScriptInterface< ISubjective Subjective,
const TArray< UDetail * > &  Details 
)
inlinestatic

Handle the subjective change, supplying its new details.

◆ ObtainMostSpecificBelt()

static class UBelt* UMechanism::ObtainMostSpecificBelt ( UObject *  BeltOwner,
TScriptInterface< ISubjective Subjective 
)
static

Find or create the most specific belt for a subject.

◆ RegisterMechanical()

void UMechanism::RegisterMechanical ( TScriptInterface< IMechanical Mechanical)
inlinestatic

Register a mechanical within the mechanism.

Parameters
MechanicalA mechanical to register.

◆ RegisterSubjective()

void UMechanism::RegisterSubjective ( TScriptInterface< ISubjective Subjective)
inlinestatic

Register a subjective within the mechanism.

Only an un-booted subjective can be registered.

◆ UnregisterMechanical()

static void UMechanism::UnregisterMechanical ( TScriptInterface< IMechanical Mechanical)
inlinestatic

Unregister a mechanical from the mechanism.

Parameters
MechanicalA mechanical to unregister.

◆ UnregisterSubjective()

void UMechanism::UnregisterSubjective ( TScriptInterface< ISubjective Subjective)
inlinestatic

Remove a subjective from the mechanism completely.

Friends And Related Function Documentation

◆ UBelt

friend class UBelt
friend

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