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 FFingerprintAddDetailToFingerprint (FFingerprint &Fingerprint, const TSubclassOf< UDetail > DetailClass)
 
static FFingerprintRemoveDetailFromFingerprint (FFingerprint &Fingerprint, const TSubclassOf< UDetail > DetailClass)
 
static void GetSubjectiveFingerprint (TScriptInterface< ISubjective > Subjective, FFingerprint &OutFingerprint)
 Get the current fingerprint of a subject. More...
 
static USubjectiveActorComponentGetSubjectiveComponent (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 UDetailEnableSubjectiveDetail (TScriptInterface< ISubjective > Subjective, TSubclassOf< UDetail > DetailClass)
 Enable a detail of a certain type. More...
 
static class UBeltGetSubjectivePreferredBelt (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 UDetailFindSubjectiveDetail (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 UDetailAddSubjectiveDetail (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< ISubjectiveGetBeltChainSubjective (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 UDetailGetChunkChainDetail (const int32 &ChunkChainId, TSubclassOf< UDetail > DetailClass)
 Get a detail from a current chunk chain iteration. More...
 
static class UDetailGetBeltChainDetailHinted (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< ISubjectiveGetChunkChainSubjective (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< ISubjectiveGetSubjectSubjective (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: