Apparatus Version 1.3.0
ECS data-driven workflow for Unreal Engine.
Public Member Functions | Static Public Member Functions | List of all members
UApparatusFunctionLibrary Class Reference

The main Apparatus function library. More...

#include <ApparatusFunctionLibrary.h>

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

Public Member Functions

 DECLARE_FUNCTION (execGetSubjectiveTrait)
 
 DECLARE_FUNCTION (execSetSubjectiveTrait)
 
 DECLARE_FUNCTION (execObtainSubjectiveTrait)
 
 DECLARE_FUNCTION (execGetSubjectTrait)
 
 DECLARE_FUNCTION (execSetSubjectTrait)
 
 DECLARE_FUNCTION (execObtainSubjectTrait)
 
 DECLARE_FUNCTION (execGetChunkChainTrait)
 
 DECLARE_FUNCTION (execGetChunkChainTraitAt)
 
 DECLARE_FUNCTION (execGetBeltChainTrait)
 

Static Public Member Functions

static int32 AddToSubjectHandles4 (FSubjectHandles4 &SubjectHandles, FSubjectHandle SubjectHandle)
 Add a subject handle to an array. More...
 
static int32 AddUniqueToSubjectHandles4 (FSubjectHandles4 &SubjectHandles, FSubjectHandle SubjectHandle)
 Add a unique subject handle to an array. More...
 
static void RemoveFromSubjectHandles4 (FSubjectHandles4 &SubjectHandles, FSubjectHandle SubjectHandle)
 Remove a subject handle from the array. More...
 
static int32 GetSubjectHandles4Length (FSubjectHandles4 &SubjectHandles)
 Get the number of elements in the array. More...
 
static FSubjectHandle GetSubjectHandles4At (const FSubjectHandles4 &SubjectHandles, const int32 Index)
 Get a copy for a subject handle at a specified index. More...
 
static void SetSubjectHandles4At (FSubjectHandles4 &SubjectHandles, const int32 Index, const FSubjectHandle &SubjectHandle)
 Set a subject handle at a specified index of the array. More...
 
static void ClearSubjectHandles4 (FSubjectHandles4 &SubjectHandles)
 Remove all elements from the array. More...
 
static FTraitmark MakeTraitmark (const TArray< UScriptStruct * > &Traits, const EBootFilter BootState=EBootFilter::None)
 
static FDetailmark MakeDetailmark (const TArray< TSubclassOf< UDetail >> &Details, const EBootFilter BootState=EBootFilter::None)
 
static FFingerprint MakeFingerprint (const TArray< UScriptStruct * > &Traits, const TArray< TSubclassOf< UDetail >> &Details, const EBootFilter BootState=EBootFilter::None)
 
static FFilter MakeFilter (const TArray< UScriptStruct * > &Traits, const TArray< TSubclassOf< UDetail >> &Details, const TArray< UScriptStruct * > &ExcludedTraits, const TArray< TSubclassOf< UDetail >> &ExcludedDetails, const EBootFilter Booting)
 Make a filter from the list of details, exclusion details, and a boot filter. More...
 
static FFilter MakeCachedFilter0 (const FString &Key, const EBootFilter Booting)
 Make a cached filter with 0 components;. More...
 
static FFilter MakeCachedFilter1 (const FString &Key, UScriptStruct *Trait_0, TSubclassOf< UDetail > Detail_0, UScriptStruct *ExcludedTrait_0, TSubclassOf< UDetail > ExcludedDetail_0, const EBootFilter Booting)
 Make a cached filter with 1 component;. More...
 
static FFilter MakeCachedFilter2 (const FString &Key, UScriptStruct *Trait_0, UScriptStruct *Trait_1, TSubclassOf< UDetail > Detail_0, TSubclassOf< UDetail > Detail_1, UScriptStruct *ExcludedTrait_0, UScriptStruct *ExcludedTrait_1, TSubclassOf< UDetail > ExcludedDetail_0, TSubclassOf< UDetail > ExcludedDetail_1, const EBootFilter Booting)
 Make a cached filter with 2 components;. More...
 
static FFilter MakeCachedFilter4 (const FString &Key, UScriptStruct *Trait_0, UScriptStruct *Trait_1, UScriptStruct *Trait_2, UScriptStruct *Trait_3, TSubclassOf< UDetail > Detail_0, TSubclassOf< UDetail > Detail_1, TSubclassOf< UDetail > Detail_2, TSubclassOf< UDetail > Detail_3, UScriptStruct *ExcludedTrait_0, UScriptStruct *ExcludedTrait_1, UScriptStruct *ExcludedTrait_2, UScriptStruct *ExcludedTrait_3, TSubclassOf< UDetail > ExcludedDetail_0, TSubclassOf< UDetail > ExcludedDetail_1, TSubclassOf< UDetail > ExcludedDetail_2, TSubclassOf< UDetail > ExcludedDetail_3, const EBootFilter Booting)
 Make a cached filter with 4 components;. More...
 
static FFilter MakeCachedFilter8 (const FString &Key, UScriptStruct *Trait_0, UScriptStruct *Trait_1, UScriptStruct *Trait_2, UScriptStruct *Trait_3, UScriptStruct *Trait_4, UScriptStruct *Trait_5, UScriptStruct *Trait_6, UScriptStruct *Trait_7, TSubclassOf< UDetail > Detail_0, TSubclassOf< UDetail > Detail_1, TSubclassOf< UDetail > Detail_2, TSubclassOf< UDetail > Detail_3, TSubclassOf< UDetail > Detail_4, TSubclassOf< UDetail > Detail_5, TSubclassOf< UDetail > Detail_6, TSubclassOf< UDetail > Detail_7, UScriptStruct *ExcludedTrait_0, UScriptStruct *ExcludedTrait_1, UScriptStruct *ExcludedTrait_2, UScriptStruct *ExcludedTrait_3, UScriptStruct *ExcludedTrait_4, UScriptStruct *ExcludedTrait_5, UScriptStruct *ExcludedTrait_6, UScriptStruct *ExcludedTrait_7, TSubclassOf< UDetail > ExcludedDetail_0, TSubclassOf< UDetail > ExcludedDetail_1, TSubclassOf< UDetail > ExcludedDetail_2, TSubclassOf< UDetail > ExcludedDetail_3, TSubclassOf< UDetail > ExcludedDetail_4, TSubclassOf< UDetail > ExcludedDetail_5, TSubclassOf< UDetail > ExcludedDetail_6, TSubclassOf< UDetail > ExcludedDetail_7, const EBootFilter Booting)
 Make a cached filter with 8 components;. More...
 
static bool IsFilterViable (const FFilter &Filter)
 Check if the filter is viable and can actually be passed. More...
 
static bool FingerprintMatches (const FFingerprint &Fingerprint, const FFilter &Filter)
 
static FBitMask BitMaskOr (const FBitMask &A, const FBitMask &B)
 
static FBitMask BitMaskAnd (const FBitMask &A, const FBitMask &B)
 
static FFingerprint & AddDetailToFingerprint (FFingerprint &Fingerprint, const TSubclassOf< UDetail > DetailClass)
 
static FFingerprint & RemoveDetailFromFingerprint (FFingerprint &Fingerprint, const TSubclassOf< UDetail > DetailClass)
 
static void GetSubjectiveFingerprint (TScriptInterface< ISubjective > Subjective, FFingerprint &OutFingerprint)
 Get the current fingerprint of a subject. More...
 
static USubjectiveActorComponent * GetSubjectiveComponent (TScriptInterface< ISubjective > Subjective)
 
static AActor * GetSubjectiveActor (TScriptInterface< ISubjective > Subjective)
 Get the actor of the subjective in question, if this subjective is actually an actor's subject. More...
 
static UUserWidget * GetSubjectiveWidget (TScriptInterface< ISubjective > Subjective)
 Get the widget in question, if this subjective is actually an user widget. More...
 
static class UDetail * EnableSubjectiveDetail (TScriptInterface< ISubjective > Subjective, TSubclassOf< UDetail > DetailClass)
 Enable a detail of a certain type. More...
 
static class UBelt * GetSubjectivePreferredBelt (TScriptInterface< ISubjective > Subjective)
 Get the preferred user-set belt. More...
 
static bool HasSubjectiveDetail (TScriptInterface< ISubjective > Subjective, TSubclassOf< UDetail > DetailClass, const bool bIncludeDisabled=false)
 Check if the subjective contains a detail of a certain type. More...
 
static UDetail * FindSubjectiveDetail (TScriptInterface< ISubjective > Subjective, TSubclassOf< UDetail > DetailClass, const bool bIncludeDisabled=false)
 Find a detail by its type. More...
 
static void GetSubjectiveDetails (TScriptInterface< ISubjective > Subjective, const bool bIncludeDisabled, TArray< UDetail * > &OutDetails)
 Get the current list of details in the subject. More...
 
static TArray< UDetail * > FindSubjectiveDetails (TScriptInterface< ISubjective > Subjective, TSubclassOf< UDetail > DetailClass, const bool bIncludeDisabled=false)
 Find the details by their type. More...
 
static class UDetail * AddSubjectiveDetail (TScriptInterface< ISubjective > Subjective, TSubclassOf< UDetail > DetailClass, const bool bReuseDisabled=false)
 Add or reuse a detail of a certain type. More...
 
static EApparatusStatus DisableSubjectiveDetail (TScriptInterface< ISubjective > Subjective, TSubclassOf< UDetail > DetailClass, const bool bDisableMultiple=false)
 Disable a first detail matching the passed type. More...
 
static void GetSubjectiveTrait (TScriptInterface< ISubjective > Subjective, UScriptStruct *TraitType, FGenericStruct &OutTraitData)
 Get a trait structure for a subjective. More...
 
static void Generic_GetSubjectiveTrait (TScriptInterface< ISubjective > Subjective, UScriptStruct *TraitType, void *const OutTraitData)
 
static void SetSubjectiveTrait (TScriptInterface< ISubjective > Subjective, UScriptStruct *TraitType, const FGenericStruct &InTraitData)
 Set a trait structure for a subjective. More...
 
static void Generic_SetSubjectiveTrait (TScriptInterface< ISubjective > Subjective, UScriptStruct *TraitType, const void *const InTraitData)
 
static void ObtainSubjectiveTrait (TScriptInterface< ISubjective > Subjective, UScriptStruct *TraitType, FGenericStruct &OutTraitData)
 Obtain a trait structure for a subjective. More...
 
static void Generic_ObtainSubjectiveTrait (TScriptInterface< ISubjective > Subjective, UScriptStruct *TraitType, void *const OutTraitData)
 
static void GetSubjectTrait (const FSubjectHandle &SubjectHandle, UScriptStruct *TraitType, FGenericStruct &OutTraitData)
 Get a trait structure from a subject. More...
 
static void Generic_GetSubjectTrait (const FSubjectHandle &SubjectHandle, UScriptStruct *TraitType, void *const OutTraitData)
 
static void SetSubjectTrait (FSubjectHandle &SubjectHandle, UScriptStruct *TraitType, const FGenericStruct &InTraitData)
 Set a trait structure for a subject. More...
 
static void Generic_SetSubjectTrait (FSubjectHandle &SubjectHandle, UScriptStruct *TraitType, const void *const InTraitData)
 
static void ObtainSubjectTrait (FSubjectHandle &SubjectHandle, UScriptStruct *TraitType, FGenericStruct &OutTraitData)
 Obtain a trait structure from a subject. More...
 
static void Generic_ObtainSubjectTrait (FSubjectHandle &SubjectHandle, UScriptStruct *TraitType, void *const OutTraitData)
 
static bool BeginBeltChain (const int32 &BeltChainId)
 Begin iterating upon a belt chain. More...
 
static bool AdvanceBeltChain (const int32 &BeltChainId)
 Advance while iterating upon a belt chain. More...
 
static bool BeginOrAdvanceBeltChain (const int32 &BeltChainId)
 Begin iterating or advance while iterating upon a belt chain. More...
 
static FSubjectHandle GetBeltChainSubject (const int32 &BeltChainId)
 Get the current iteration's subject handle. More...
 
static TScriptInterface< ISubjective > GetBeltChainSubjective (const int32 &BeltChainId)
 Get the current iteration's subjective (if any). More...
 
static void GetChunkChainTrait (const int32 &ChunkChainId, UScriptStruct *TraitType, FGenericStruct &OutTraitData)
 Get an existing trait structure from the current chunk chain cursor. More...
 
static void Generic_GetChunkChainTrait (const int32 &ChunkChainId, UScriptStruct *TraitType, void *const OutTraitData)
 
static void GetChunkChainTraitAt (const int32 &ChunkChainId, const int32 TraitIndex, FGenericStruct &OutTraitData)
 Get an existing trait structure from the current chunk chain cursor at a specific index. More...
 
static void Generic_GetChunkChainTraitAt (const int32 &ChunkChainId, const int32 TraitIndex, void *const OutTraitData)
 
static void GetBeltChainTrait (const int32 &BeltChainId, UScriptStruct *TraitType, FGenericStruct &OutTraitData)
 Get an existing trait structure from the current belt chain cursor. More...
 
static void Generic_GetBeltChainTrait (const int32 &BeltChainId, UScriptStruct *TraitType, void *const OutTraitData)
 
static class UDetail * GetChunkChainDetail (const int32 &ChunkChainId, TSubclassOf< UDetail > DetailClass)
 Get a detail from a current chunk chain iteration. More...
 
static class UDetail * GetBeltChainDetailHinted (const int32 &BeltChainId, TSubclassOf< UDetail > DetailClass, const int32 DetailIndexHint)
 Get a detail from a belt chain while hinting its index. More...
 
static bool BeginChunkChain (const int32 &ChunkChainId)
 Begin iterating upon a chunk chain. More...
 
static bool AdvanceChunkChain (const int32 &ChunkChainId)
 Advance while iterating upon a chunk chain. More...
 
static bool BeginOrAdvanceChunkChain (const int32 &ChunkChainId)
 Begin iterating or advance while iterating upon a chunk chain. More...
 
static FSubjectHandle GetChunkChainSubject (const int32 &ChunkChainId)
 Get the current iteration's subject handle. More...
 
static TScriptInterface< ISubjective > GetChunkChainSubjective (const int32 &ChunkChainId)
 Get the current iteration's subjective (if any). More...
 
static EApparatusStatus SpawnMachineSubject (FSubjectHandle &OutSubjectHandle)
 Spawn a subject within the machine. More...
 
static void ResetSubjectHandle (FSubjectHandle &SubjectHandle)
 Reset the subject handle, making it invalid. More...
 
static FSubjectHandle GetInvalidSubjectHandle ()
 Get invalid subject handle constant. More...
 
static bool AreSubjectHandlesEqual (const FSubjectHandle &SubjectA, const FSubjectHandle &SubjectB)
 Check if two handles point at the same subject. More...
 
static bool AreSubjectHandlesNotEqual (const FSubjectHandle &SubjectA, const FSubjectHandle &SubjectB)
 Check if two handles point at different subjects. More...
 
static bool IsSubjectHandleValid (FSubjectHandle &SubjectHandle)
 Check if the subject handle is valid. More...
 
static void RemoveSubjectTrait (FSubjectHandle &SubjectHandle, UScriptStruct *TraitType)
 Remove a trait from the subject. More...
 
static void DisableSubjectDetail (FSubjectHandle &SubjectHandle, TSubclassOf< UDetail > DetailClass, const bool bDisableMultiple=false)
 Disable a detail for the subject. More...
 
static void RemoveSubjectiveTrait (TScriptInterface< ISubjective > Subjective, UScriptStruct *TraitType)
 Remove a trait from the subjective. More...
 
static TScriptInterface< ISubjective > GetSubjectSubjective (const FSubjectHandle &SubjectHandle)
 Get the subjective of the subject (if any). More...
 
static bool HasSubjectTrait (const FSubjectHandle &SubjectHandle, UScriptStruct *TraitType)
 Check if the subject contains a trait. More...
 
static bool HasSubjectDetail (const FSubjectHandle &SubjectHandle, TSubclassOf< UDetail > DetailClass)
 Check if the subject contains a detail. More...
 
static bool HasSubjectiveTrait (TScriptInterface< ISubjective > Subjective, UScriptStruct *TraitType)
 Check if the subjective contains a trait. More...
 
static EApparatusStatus DespawnMachineSubject (const FSubjectHandle &SubjectHandle)
 Despawn a subject from the machine. More...
 

Detailed Description

The main Apparatus function library.

Member Function Documentation

◆ AddDetailToFingerprint()

FFingerprint & UApparatusFunctionLibrary::AddDetailToFingerprint ( FFingerprint &  Fingerprint,
const TSubclassOf< UDetail >  DetailClass 
)
inlinestatic

◆ AddSubjectiveDetail()

static class UDetail* UApparatusFunctionLibrary::AddSubjectiveDetail ( TScriptInterface< ISubjective >  Subjective,
TSubclassOf< UDetail >  DetailClass,
const bool  bReuseDisabled = false 
)
inlinestatic

Add or reuse a detail of a certain type.

Parameters
SubjectiveThe subjective to add a detail to.
DetailClassThe type of a detail to add to a subject.
bReuseDisabledShould an inactive detail be reused, if possible. If the detail already exists and is active, a new detail is created, activated and returned. If the detail exists but is not currently active, it is activated and returned.
Returns
A new or reused detail. Guaranteed to be active.

◆ AddToSubjectHandles4()

static int32 UApparatusFunctionLibrary::AddToSubjectHandles4 ( FSubjectHandles4 &  SubjectHandles,
FSubjectHandle  SubjectHandle 
)
inlinestatic

Add a subject handle to an array.

Invalid handles won't be added for the purpose of economy.

◆ AddUniqueToSubjectHandles4()

static int32 UApparatusFunctionLibrary::AddUniqueToSubjectHandles4 ( FSubjectHandles4 &  SubjectHandles,
FSubjectHandle  SubjectHandle 
)
inlinestatic

Add a unique subject handle to an array.

Invalid handles won't be added for the purpose of economy.

◆ AdvanceBeltChain()

static bool UApparatusFunctionLibrary::AdvanceBeltChain ( const int32 &  BeltChainId)
inlinestatic

Advance while iterating upon a belt chain.

Parameters
BeltChainIdThe identifier of a belt chain to iterate upon.
Returns
Is the current iteration viable?

◆ AdvanceChunkChain()

static bool UApparatusFunctionLibrary::AdvanceChunkChain ( const int32 &  ChunkChainId)
inlinestatic

Advance while iterating upon a chunk chain.

Parameters
ChunkChainIdThe identifier of a chunk chain to iterate upon.
Returns
Is the current iteration viable?

◆ AreSubjectHandlesEqual()

static bool UApparatusFunctionLibrary::AreSubjectHandlesEqual ( const FSubjectHandle &  SubjectA,
const FSubjectHandle &  SubjectB 
)
inlinestatic

Check if two handles point at the same subject.

◆ AreSubjectHandlesNotEqual()

static bool UApparatusFunctionLibrary::AreSubjectHandlesNotEqual ( const FSubjectHandle &  SubjectA,
const FSubjectHandle &  SubjectB 
)
inlinestatic

Check if two handles point at different subjects.

◆ BeginBeltChain()

static bool UApparatusFunctionLibrary::BeginBeltChain ( const int32 &  BeltChainId)
inlinestatic

Begin iterating upon a belt chain.

Parameters
BeltChainIdThe identifier of a belt chain to iterate upon.
Returns
Is the current iteration viable?

◆ BeginChunkChain()

static bool UApparatusFunctionLibrary::BeginChunkChain ( const int32 &  ChunkChainId)
inlinestatic

Begin iterating upon a chunk chain.

Parameters
ChunkChainIdThe identifier of a chunk chain to iterate upon.
Returns
Is the current iteration viable?

◆ BeginOrAdvanceBeltChain()

static bool UApparatusFunctionLibrary::BeginOrAdvanceBeltChain ( const int32 &  BeltChainId)
inlinestatic

Begin iterating or advance while iterating upon a belt chain.

Parameters
BeltChainIdThe identifier of a belt chain to iterate upon.
Returns
Is the current iteration viable or an end has come?

◆ BeginOrAdvanceChunkChain()

static bool UApparatusFunctionLibrary::BeginOrAdvanceChunkChain ( const int32 &  ChunkChainId)
inlinestatic

Begin iterating or advance while iterating upon a chunk chain.

Parameters
ChunkChainIdThe identifier of a chunk chain to iterate upon.
Returns
Is the current iteration viable?

◆ BitMaskAnd()

static FBitMask UApparatusFunctionLibrary::BitMaskAnd ( const FBitMask &  A,
const FBitMask &  B 
)
inlinestatic

◆ BitMaskOr()

static FBitMask UApparatusFunctionLibrary::BitMaskOr ( const FBitMask &  A,
const FBitMask &  B 
)
inlinestatic

◆ ClearSubjectHandles4()

static void UApparatusFunctionLibrary::ClearSubjectHandles4 ( FSubjectHandles4 &  SubjectHandles)
inlinestatic

Remove all elements from the array.

◆ DECLARE_FUNCTION() [1/9]

UApparatusFunctionLibrary::DECLARE_FUNCTION ( execGetBeltChainTrait  )
inline

◆ DECLARE_FUNCTION() [2/9]

UApparatusFunctionLibrary::DECLARE_FUNCTION ( execGetChunkChainTrait  )
inline

◆ DECLARE_FUNCTION() [3/9]

UApparatusFunctionLibrary::DECLARE_FUNCTION ( execGetChunkChainTraitAt  )
inline

◆ DECLARE_FUNCTION() [4/9]

UApparatusFunctionLibrary::DECLARE_FUNCTION ( execGetSubjectiveTrait  )
inline

◆ DECLARE_FUNCTION() [5/9]

UApparatusFunctionLibrary::DECLARE_FUNCTION ( execGetSubjectTrait  )
inline

◆ DECLARE_FUNCTION() [6/9]

UApparatusFunctionLibrary::DECLARE_FUNCTION ( execObtainSubjectiveTrait  )
inline

◆ DECLARE_FUNCTION() [7/9]

UApparatusFunctionLibrary::DECLARE_FUNCTION ( execObtainSubjectTrait  )
inline

◆ DECLARE_FUNCTION() [8/9]

UApparatusFunctionLibrary::DECLARE_FUNCTION ( execSetSubjectiveTrait  )
inline

◆ DECLARE_FUNCTION() [9/9]

UApparatusFunctionLibrary::DECLARE_FUNCTION ( execSetSubjectTrait  )
inline

◆ DespawnMachineSubject()

EApparatusStatus UApparatusFunctionLibrary::DespawnMachineSubject ( const FSubjectHandle &  SubjectHandle)
inlinestatic

Despawn a subject from the machine.

◆ DisableSubjectDetail()

static void UApparatusFunctionLibrary::DisableSubjectDetail ( FSubjectHandle &  SubjectHandle,
TSubclassOf< UDetail >  DetailClass,
const bool  bDisableMultiple = false 
)
inlinestatic

Disable a detail for the subject.

◆ DisableSubjectiveDetail()

static EApparatusStatus UApparatusFunctionLibrary::DisableSubjectiveDetail ( TScriptInterface< ISubjective >  Subjective,
TSubclassOf< UDetail >  DetailClass,
const bool  bDisableMultiple = false 
)
inlinestatic

Disable a first detail matching the passed type.

You can't remove details, but only disable them instead.

Parameters
SubjectiveThe subjective to disable a detail for.
DetailClassThe class of detail(s) to disable.
bDisableMultipleShould multiple matching details be disabled at once, or only the first one?
Returns
The status of the operation. Returns "Noop" if nothing was actually changed.

◆ EnableSubjectiveDetail()

static class UDetail* UApparatusFunctionLibrary::EnableSubjectiveDetail ( TScriptInterface< ISubjective >  Subjective,
TSubclassOf< UDetail >  DetailClass 
)
inlinestatic

Enable a detail of a certain type.

If the detail already exists and is active, nothing is performed, and that detail is returned. If the detail does not exist at all, a new detail is added, activated and returned. If the detail exists but is not currently active, it is activated and returned.

◆ FindSubjectiveDetail()

static UDetail* UApparatusFunctionLibrary::FindSubjectiveDetail ( TScriptInterface< ISubjective >  Subjective,
TSubclassOf< UDetail >  DetailClass,
const bool  bIncludeDisabled = false 
)
inlinestatic

Find a detail by its type.

◆ FindSubjectiveDetails()

TArray< UDetail * > UApparatusFunctionLibrary::FindSubjectiveDetails ( TScriptInterface< ISubjective >  Subjective,
TSubclassOf< UDetail >  DetailClass,
const bool  bIncludeDisabled = false 
)
inlinestatic

Find the details by their type.

◆ FingerprintMatches()

static bool UApparatusFunctionLibrary::FingerprintMatches ( const FFingerprint &  Fingerprint,
const FFilter &  Filter 
)
inlinestatic

◆ Generic_GetBeltChainTrait()

static void UApparatusFunctionLibrary::Generic_GetBeltChainTrait ( const int32 &  BeltChainId,
UScriptStruct *  TraitType,
void *const  OutTraitData 
)
inlinestatic

◆ Generic_GetChunkChainTrait()

static void UApparatusFunctionLibrary::Generic_GetChunkChainTrait ( const int32 &  ChunkChainId,
UScriptStruct *  TraitType,
void *const  OutTraitData 
)
inlinestatic

◆ Generic_GetChunkChainTraitAt()

static void UApparatusFunctionLibrary::Generic_GetChunkChainTraitAt ( const int32 &  ChunkChainId,
const int32  TraitIndex,
void *const  OutTraitData 
)
inlinestatic

◆ Generic_GetSubjectiveTrait()

static void UApparatusFunctionLibrary::Generic_GetSubjectiveTrait ( TScriptInterface< ISubjective >  Subjective,
UScriptStruct *  TraitType,
void *const  OutTraitData 
)
inlinestatic

◆ Generic_GetSubjectTrait()

static void UApparatusFunctionLibrary::Generic_GetSubjectTrait ( const FSubjectHandle &  SubjectHandle,
UScriptStruct *  TraitType,
void *const  OutTraitData 
)
inlinestatic

◆ Generic_ObtainSubjectiveTrait()

static void UApparatusFunctionLibrary::Generic_ObtainSubjectiveTrait ( TScriptInterface< ISubjective >  Subjective,
UScriptStruct *  TraitType,
void *const  OutTraitData 
)
inlinestatic

◆ Generic_ObtainSubjectTrait()

static void UApparatusFunctionLibrary::Generic_ObtainSubjectTrait ( FSubjectHandle &  SubjectHandle,
UScriptStruct *  TraitType,
void *const  OutTraitData 
)
inlinestatic

◆ Generic_SetSubjectiveTrait()

static void UApparatusFunctionLibrary::Generic_SetSubjectiveTrait ( TScriptInterface< ISubjective >  Subjective,
UScriptStruct *  TraitType,
const void *const  InTraitData 
)
inlinestatic

◆ Generic_SetSubjectTrait()

static void UApparatusFunctionLibrary::Generic_SetSubjectTrait ( FSubjectHandle &  SubjectHandle,
UScriptStruct *  TraitType,
const void *const  InTraitData 
)
inlinestatic

◆ GetBeltChainDetailHinted()

static class UDetail* UApparatusFunctionLibrary::GetBeltChainDetailHinted ( const int32 &  BeltChainId,
TSubclassOf< UDetail >  DetailClass,
const int32  DetailIndexHint 
)
inlinestatic

Get a detail from a belt chain while hinting its index.

Parameters
BeltChainIdThe identifier of a belt chain to iterate upon.
DetailClassA class of the detail to get.
DetailIndexHintThe hinted index of the detail to get.

◆ GetBeltChainSubject()

static FSubjectHandle UApparatusFunctionLibrary::GetBeltChainSubject ( const int32 &  BeltChainId)
inlinestatic

Get the current iteration's subject handle.

Parameters
BeltChainIdThe identifier of a belt chain to iterate upon.
Returns
The subject handle of the current iteration.

◆ GetBeltChainSubjective()

static TScriptInterface<ISubjective> UApparatusFunctionLibrary::GetBeltChainSubjective ( const int32 &  BeltChainId)
inlinestatic

Get the current iteration's subjective (if any).

Parameters
BeltChainIdThe identifier of a belt chain to iterate upon.
Returns
The subjective of the current iteration.

◆ GetBeltChainTrait()

static void UApparatusFunctionLibrary::GetBeltChainTrait ( const int32 &  BeltChainId,
UScriptStruct *  TraitType,
FGenericStruct &  OutTraitData 
)
inlinestatic

Get an existing trait structure from the current belt chain cursor.

◆ GetChunkChainDetail()

static class UDetail* UApparatusFunctionLibrary::GetChunkChainDetail ( const int32 &  ChunkChainId,
TSubclassOf< UDetail >  DetailClass 
)
inlinestatic

Get a detail from a current chunk chain iteration.

Parameters
ChunkChainIdThe identifier of a chunk chain to get from.
DetailClassThe class of the detail to get.
Returns
The detail of the specified type.

◆ GetChunkChainSubject()

static FSubjectHandle UApparatusFunctionLibrary::GetChunkChainSubject ( const int32 &  ChunkChainId)
inlinestatic

Get the current iteration's subject handle.

Parameters
ChunkChainIdThe identifier of a chunk chain to to get from.
Returns
The subject handle of the current iteration.

◆ GetChunkChainSubjective()

static TScriptInterface<ISubjective> UApparatusFunctionLibrary::GetChunkChainSubjective ( const int32 &  ChunkChainId)
inlinestatic

Get the current iteration's subjective (if any).

Parameters
ChunkChainIdThe identifier of a chunk chain to iterate upon.
Returns
The subjective of the current iteration (if any).

◆ GetChunkChainTrait()

static void UApparatusFunctionLibrary::GetChunkChainTrait ( const int32 &  ChunkChainId,
UScriptStruct *  TraitType,
FGenericStruct &  OutTraitData 
)
inlinestatic

Get an existing trait structure from the current chunk chain cursor.

◆ GetChunkChainTraitAt()

static void UApparatusFunctionLibrary::GetChunkChainTraitAt ( const int32 &  ChunkChainId,
const int32  TraitIndex,
FGenericStruct &  OutTraitData 
)
inlinestatic

Get an existing trait structure from the current chunk chain cursor at a specific index.

◆ GetInvalidSubjectHandle()

static FSubjectHandle UApparatusFunctionLibrary::GetInvalidSubjectHandle ( )
inlinestatic

Get invalid subject handle constant.

◆ GetSubjectHandles4At()

static FSubjectHandle UApparatusFunctionLibrary::GetSubjectHandles4At ( const FSubjectHandles4 &  SubjectHandles,
const int32  Index 
)
inlinestatic

Get a copy for a subject handle at a specified index.

◆ GetSubjectHandles4Length()

static int32 UApparatusFunctionLibrary::GetSubjectHandles4Length ( FSubjectHandles4 &  SubjectHandles)
inlinestatic

Get the number of elements in the array.

◆ GetSubjectiveActor()

static AActor* UApparatusFunctionLibrary::GetSubjectiveActor ( TScriptInterface< ISubjective >  Subjective)
inlinestatic

Get the actor of the subjective in question, if this subjective is actually an actor's subject.

◆ GetSubjectiveComponent()

static USubjectiveActorComponent* UApparatusFunctionLibrary::GetSubjectiveComponent ( TScriptInterface< ISubjective >  Subjective)
inlinestatic

◆ GetSubjectiveDetails()

void UApparatusFunctionLibrary::GetSubjectiveDetails ( TScriptInterface< ISubjective >  Subjective,
const bool  bIncludeDisabled,
TArray< UDetail * > &  OutDetails 
)
inlinestatic

Get the current list of details in the subject.

◆ GetSubjectiveFingerprint()

static void UApparatusFunctionLibrary::GetSubjectiveFingerprint ( TScriptInterface< ISubjective >  Subjective,
FFingerprint &  OutFingerprint 
)
inlinestatic

Get the current fingerprint of a subject.

◆ GetSubjectivePreferredBelt()

static class UBelt* UApparatusFunctionLibrary::GetSubjectivePreferredBelt ( TScriptInterface< ISubjective >  Subjective)
inlinestatic

Get the preferred user-set belt.

Returns
The preferred belt or nullptr, if not set.

◆ GetSubjectiveTrait()

static void UApparatusFunctionLibrary::GetSubjectiveTrait ( TScriptInterface< ISubjective >  Subjective,
UScriptStruct *  TraitType,
FGenericStruct &  OutTraitData 
)
inlinestatic

Get a trait structure for a subjective.

◆ GetSubjectiveWidget()

static UUserWidget* UApparatusFunctionLibrary::GetSubjectiveWidget ( TScriptInterface< ISubjective >  Subjective)
inlinestatic

Get the widget in question, if this subjective is actually an user widget.

◆ GetSubjectSubjective()

static TScriptInterface<ISubjective> UApparatusFunctionLibrary::GetSubjectSubjective ( const FSubjectHandle &  SubjectHandle)
inlinestatic

Get the subjective of the subject (if any).

◆ GetSubjectTrait()

static void UApparatusFunctionLibrary::GetSubjectTrait ( const FSubjectHandle &  SubjectHandle,
UScriptStruct *  TraitType,
FGenericStruct &  OutTraitData 
)
inlinestatic

Get a trait structure from a subject.

◆ HasSubjectDetail()

static bool UApparatusFunctionLibrary::HasSubjectDetail ( const FSubjectHandle &  SubjectHandle,
TSubclassOf< UDetail >  DetailClass 
)
inlinestatic

Check if the subject contains a detail.

◆ HasSubjectiveDetail()

static bool UApparatusFunctionLibrary::HasSubjectiveDetail ( TScriptInterface< ISubjective >  Subjective,
TSubclassOf< UDetail >  DetailClass,
const bool  bIncludeDisabled = false 
)
inlinestatic

Check if the subjective contains a detail of a certain type.

◆ HasSubjectiveTrait()

static bool UApparatusFunctionLibrary::HasSubjectiveTrait ( TScriptInterface< ISubjective >  Subjective,
UScriptStruct *  TraitType 
)
inlinestatic

Check if the subjective contains a trait.

◆ HasSubjectTrait()

static bool UApparatusFunctionLibrary::HasSubjectTrait ( const FSubjectHandle &  SubjectHandle,
UScriptStruct *  TraitType 
)
inlinestatic

Check if the subject contains a trait.

◆ IsFilterViable()

static bool UApparatusFunctionLibrary::IsFilterViable ( const FFilter &  Filter)
inlinestatic

Check if the filter is viable and can actually be passed.

◆ IsSubjectHandleValid()

static bool UApparatusFunctionLibrary::IsSubjectHandleValid ( FSubjectHandle &  SubjectHandle)
inlinestatic

Check if the subject handle is valid.

◆ MakeCachedFilter0()

static FFilter UApparatusFunctionLibrary::MakeCachedFilter0 ( const FString &  Key,
const EBootFilter  Booting 
)
inlinestatic

Make a cached filter with 0 components;.

◆ MakeCachedFilter1()

static FFilter UApparatusFunctionLibrary::MakeCachedFilter1 ( const FString &  Key,
UScriptStruct *  Trait_0,
TSubclassOf< UDetail >  Detail_0,
UScriptStruct *  ExcludedTrait_0,
TSubclassOf< UDetail >  ExcludedDetail_0,
const EBootFilter  Booting 
)
inlinestatic

Make a cached filter with 1 component;.

◆ MakeCachedFilter2()

static FFilter UApparatusFunctionLibrary::MakeCachedFilter2 ( const FString &  Key,
UScriptStruct *  Trait_0,
UScriptStruct *  Trait_1,
TSubclassOf< UDetail >  Detail_0,
TSubclassOf< UDetail >  Detail_1,
UScriptStruct *  ExcludedTrait_0,
UScriptStruct *  ExcludedTrait_1,
TSubclassOf< UDetail >  ExcludedDetail_0,
TSubclassOf< UDetail >  ExcludedDetail_1,
const EBootFilter  Booting 
)
inlinestatic

Make a cached filter with 2 components;.

◆ MakeCachedFilter4()

static FFilter UApparatusFunctionLibrary::MakeCachedFilter4 ( const FString &  Key,
UScriptStruct *  Trait_0,
UScriptStruct *  Trait_1,
UScriptStruct *  Trait_2,
UScriptStruct *  Trait_3,
TSubclassOf< UDetail >  Detail_0,
TSubclassOf< UDetail >  Detail_1,
TSubclassOf< UDetail >  Detail_2,
TSubclassOf< UDetail >  Detail_3,
UScriptStruct *  ExcludedTrait_0,
UScriptStruct *  ExcludedTrait_1,
UScriptStruct *  ExcludedTrait_2,
UScriptStruct *  ExcludedTrait_3,
TSubclassOf< UDetail >  ExcludedDetail_0,
TSubclassOf< UDetail >  ExcludedDetail_1,
TSubclassOf< UDetail >  ExcludedDetail_2,
TSubclassOf< UDetail >  ExcludedDetail_3,
const EBootFilter  Booting 
)
inlinestatic

Make a cached filter with 4 components;.

◆ MakeCachedFilter8()

static FFilter UApparatusFunctionLibrary::MakeCachedFilter8 ( const FString &  Key,
UScriptStruct *  Trait_0,
UScriptStruct *  Trait_1,
UScriptStruct *  Trait_2,
UScriptStruct *  Trait_3,
UScriptStruct *  Trait_4,
UScriptStruct *  Trait_5,
UScriptStruct *  Trait_6,
UScriptStruct *  Trait_7,
TSubclassOf< UDetail >  Detail_0,
TSubclassOf< UDetail >  Detail_1,
TSubclassOf< UDetail >  Detail_2,
TSubclassOf< UDetail >  Detail_3,
TSubclassOf< UDetail >  Detail_4,
TSubclassOf< UDetail >  Detail_5,
TSubclassOf< UDetail >  Detail_6,
TSubclassOf< UDetail >  Detail_7,
UScriptStruct *  ExcludedTrait_0,
UScriptStruct *  ExcludedTrait_1,
UScriptStruct *  ExcludedTrait_2,
UScriptStruct *  ExcludedTrait_3,
UScriptStruct *  ExcludedTrait_4,
UScriptStruct *  ExcludedTrait_5,
UScriptStruct *  ExcludedTrait_6,
UScriptStruct *  ExcludedTrait_7,
TSubclassOf< UDetail >  ExcludedDetail_0,
TSubclassOf< UDetail >  ExcludedDetail_1,
TSubclassOf< UDetail >  ExcludedDetail_2,
TSubclassOf< UDetail >  ExcludedDetail_3,
TSubclassOf< UDetail >  ExcludedDetail_4,
TSubclassOf< UDetail >  ExcludedDetail_5,
TSubclassOf< UDetail >  ExcludedDetail_6,
TSubclassOf< UDetail >  ExcludedDetail_7,
const EBootFilter  Booting 
)
inlinestatic

Make a cached filter with 8 components;.

◆ MakeDetailmark()

FDetailmark UApparatusFunctionLibrary::MakeDetailmark ( const TArray< TSubclassOf< UDetail >> &  Details,
const EBootFilter  BootState = EBootFilter::None 
)
inlinestatic

◆ MakeFilter()

FFilter UApparatusFunctionLibrary::MakeFilter ( const TArray< UScriptStruct * > &  Traits,
const TArray< TSubclassOf< UDetail >> &  Details,
const TArray< UScriptStruct * > &  ExcludedTraits,
const TArray< TSubclassOf< UDetail >> &  ExcludedDetails,
const EBootFilter  Booting 
)
inlinestatic

Make a filter from the list of details, exclusion details, and a boot filter.

◆ MakeFingerprint()

FFingerprint UApparatusFunctionLibrary::MakeFingerprint ( const TArray< UScriptStruct * > &  Traits,
const TArray< TSubclassOf< UDetail >> &  Details,
const EBootFilter  BootState = EBootFilter::None 
)
inlinestatic

◆ MakeTraitmark()

FTraitmark UApparatusFunctionLibrary::MakeTraitmark ( const TArray< UScriptStruct * > &  Traits,
const EBootFilter  BootState = EBootFilter::None 
)
inlinestatic

◆ ObtainSubjectiveTrait()

static void UApparatusFunctionLibrary::ObtainSubjectiveTrait ( TScriptInterface< ISubjective >  Subjective,
UScriptStruct *  TraitType,
FGenericStruct &  OutTraitData 
)
inlinestatic

Obtain a trait structure for a subjective.

◆ ObtainSubjectTrait()

static void UApparatusFunctionLibrary::ObtainSubjectTrait ( FSubjectHandle &  SubjectHandle,
UScriptStruct *  TraitType,
FGenericStruct &  OutTraitData 
)
inlinestatic

Obtain a trait structure from a subject.

◆ RemoveDetailFromFingerprint()

FFingerprint & UApparatusFunctionLibrary::RemoveDetailFromFingerprint ( FFingerprint &  Fingerprint,
const TSubclassOf< UDetail >  DetailClass 
)
inlinestatic

◆ RemoveFromSubjectHandles4()

void UApparatusFunctionLibrary::RemoveFromSubjectHandles4 ( FSubjectHandles4 &  SubjectHandles,
FSubjectHandle  SubjectHandle 
)
inlinestatic

Remove a subject handle from the array.

◆ RemoveSubjectiveTrait()

static void UApparatusFunctionLibrary::RemoveSubjectiveTrait ( TScriptInterface< ISubjective >  Subjective,
UScriptStruct *  TraitType 
)
inlinestatic

Remove a trait from the subjective.

◆ RemoveSubjectTrait()

static void UApparatusFunctionLibrary::RemoveSubjectTrait ( FSubjectHandle &  SubjectHandle,
UScriptStruct *  TraitType 
)
inlinestatic

Remove a trait from the subject.

◆ ResetSubjectHandle()

static void UApparatusFunctionLibrary::ResetSubjectHandle ( FSubjectHandle &  SubjectHandle)
inlinestatic

Reset the subject handle, making it invalid.

The subject itself won't be despawned though.

◆ SetSubjectHandles4At()

static void UApparatusFunctionLibrary::SetSubjectHandles4At ( FSubjectHandles4 &  SubjectHandles,
const int32  Index,
const FSubjectHandle &  SubjectHandle 
)
inlinestatic

Set a subject handle at a specified index of the array.

◆ SetSubjectiveTrait()

static void UApparatusFunctionLibrary::SetSubjectiveTrait ( TScriptInterface< ISubjective >  Subjective,
UScriptStruct *  TraitType,
const FGenericStruct &  InTraitData 
)
inlinestatic

Set a trait structure for a subjective.

◆ SetSubjectTrait()

static void UApparatusFunctionLibrary::SetSubjectTrait ( FSubjectHandle &  SubjectHandle,
UScriptStruct *  TraitType,
const FGenericStruct &  InTraitData 
)
inlinestatic

Set a trait structure for a subject.

◆ SpawnMachineSubject()

EApparatusStatus UApparatusFunctionLibrary::SpawnMachineSubject ( FSubjectHandle &  OutSubjectHandle)
inlinestatic

Spawn a subject within the machine.


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