Apparatus Version 1.21
ECS data-oriented 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 (execGetChainTrait)
 
 DECLARE_FUNCTION (execGetChainTraitHinted)
 
 DECLARE_FUNCTION (execGetSubjectiveTrait)
 
 DECLARE_FUNCTION (execSetSubjectiveTrait)
 
 DECLARE_FUNCTION (execObtainSubjectiveTrait)
 
 DECLARE_FUNCTION (execGetSubjectTrait)
 
 DECLARE_FUNCTION (execSetSubjectTrait)
 
 DECLARE_FUNCTION (execObtainSubjectTrait)
 
 DECLARE_FUNCTION (execPushExtraSubjectTrait)
 
 DECLARE_FUNCTION (execPushExtraSubjectiveTrait)
 
 DECLARE_FUNCTION (execPushExtraSubjectTraitThroughBearer)
 

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 int32 AddToSubjectHandles8 (FSubjectHandles8 &SubjectHandles, FSubjectHandle SubjectHandle)
 Add a subject handle to an array. More...
 
static int32 AddUniqueToSubjectHandles8 (FSubjectHandles8 &SubjectHandles, FSubjectHandle SubjectHandle)
 Add a unique subject handle to an array. More...
 
static void RemoveFromSubjectHandles8 (FSubjectHandles8 &SubjectHandles, FSubjectHandle SubjectHandle)
 Remove a subject handle from the array. More...
 
static int32 GetSubjectHandles8Length (FSubjectHandles8 &SubjectHandles)
 Get the number of elements in the array. More...
 
static FSubjectHandle GetSubjectHandles8At (const FSubjectHandles8 &SubjectHandles, const int32 Index)
 Get a copy for a subject handle at a specified index. More...
 
static void SetSubjectHandles8At (FSubjectHandles8 &SubjectHandles, const int32 Index, const FSubjectHandle &SubjectHandle)
 Set a subject handle at a specified index of the array. More...
 
static void ClearSubjectHandles8 (FSubjectHandles8 &SubjectHandles)
 Remove all elements from the array. More...
 
static int32 AddToSubjectHandles16 (FSubjectHandles16 &SubjectHandles, FSubjectHandle SubjectHandle)
 Add a subject handle to an array. More...
 
static int32 AddUniqueToSubjectHandles16 (FSubjectHandles16 &SubjectHandles, FSubjectHandle SubjectHandle)
 Add a unique subject handle to an array. More...
 
static void RemoveFromSubjectHandles16 (FSubjectHandles16 &SubjectHandles, FSubjectHandle SubjectHandle)
 Remove a subject handle from the array. More...
 
static int32 GetSubjectHandles16Length (FSubjectHandles16 &SubjectHandles)
 Get the number of elements in the array. More...
 
static FSubjectHandle GetSubjectHandles16At (const FSubjectHandles16 &SubjectHandles, const int32 Index)
 Get a copy for a subject handle at a specified index. More...
 
static void SetSubjectHandles16At (FSubjectHandles16 &SubjectHandles, const int32 Index, const FSubjectHandle &SubjectHandle)
 Set a subject handle at a specified index of the array. More...
 
static void ClearSubjectHandles16 (FSubjectHandles16 &SubjectHandles)
 Remove all elements from the array. More...
 
static FTraitmark MakeTraitmark (const TArray< UScriptStruct * > &Traits)
 Make a traitmark from a list of trait types. More...
 
static FDetailmark MakeDetailmark (const TArray< TSubclassOf< UDetail > > &Details)
 Make a detailmark from a list of detail classes. More...
 
static FFingerprint MakeFingerprint (const TArray< UScriptStruct * > &Traits, const TArray< TSubclassOf< UDetail > > &Details, const int32 Flagmark)
 Make a fingerprint. More...
 
static int32 GetFingerprintFlagmark (const FFingerprint &Fingerprint)
 Get fingerprint's flagmark. More...
 
static FFilter MakeFilter (const TArray< UScriptStruct * > &Traits, const TArray< TSubclassOf< UDetail > > &Details, const TArray< UScriptStruct * > &ExcludedTraits, const TArray< TSubclassOf< UDetail > > &ExcludedDetails, const int32 Flagmark=0x2, const int32 ExcludingFlagmark=0x1)
 Make a filter from the list of details, exclusion details, and a boot filter. More...
 
static FFilter MakeCachedFilter0 (const FString &Key, const int32 Flagmark)
 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 int32 Flagmark)
 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 int32 Flagmark)
 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 int32 Flagmark)
 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 int32 Flagmark)
 Make a cached filter with 8 components;. More...
 
static bool FingerprintMatches (const FFingerprint &Fingerprint, const FFilter &Filter)
 Check if a fingerprint matches a filter. More...
 
static FBitMask BitMaskOr (const FBitMask &A, const FBitMask &B)
 Disjunct two bitmasks resulting in a bitmask. More...
 
static FBitMask BitMaskAnd (const FBitMask &A, const FBitMask &B)
 Conjunct two bit masks resulting in a bit mask. More...
 
static FFingerprintAddDetailToFingerprint (FFingerprint &Fingerprint, const TSubclassOf< UDetail > DetailClass)
 Add a detail class to a fingerprint. More...
 
static FFingerprintRemoveDetailFromFingerprint (FFingerprint &Fingerprint, const TSubclassOf< UDetail > DetailClass)
 Remove a detail class from a fingerprint. More...
 
static AMechanismGeDetailMechanism (const UDetail *Detail)
 
static void MechanismEnchain (UObject *WorldContextObject, const FFilter &Filter, int32 &OutChainId)
 Enchain multiple iterable sequences (chunks or belts) based on a filter. More...
 
static void MechanismEnchainHalted (UObject *WorldContextObject, FFilter &Filter, int32 &OutChainId)
 
static void MechanismEnchainBooted (UObject *WorldContextObject, FFilter &Filter, int32 &OutChainId)
 
static int32 ChainIterableNum (UObject *WorldContextObject, const int32 ChainId)
 Get the total iterable number of entities (Subjects/Subjectives) in the chain. More...
 
static bool BeginChain (UObject *WorldContextObject, const int32 ChainId)
 Begin iterating upon a chain. More...
 
static bool AdvanceChain (UObject *WorldContextObject, const int32 ChainId)
 Advance while iterating upon a chain. More...
 
static bool BeginOrAdvanceChain (UObject *WorldContextObject, const int32 ChainId)
 Begin iterating or advance while iterating upon a chain. More...
 
static FSubjectHandle GetChainSubject (UObject *WorldContextObject, const int32 ChainId)
 Get the current iteration's subject handle. More...
 
static TScriptInterface< ISubjectiveGetChainSubjective (UObject *WorldContextObject, const int32 ChainId)
 Get the current iteration's subjective (if any). More...
 
static void GetChainTrait (UObject *WorldContextObject, const int32 ChainId, UScriptStruct *TraitType, FGenericStruct &OutTraitData)
 Get an existing trait structure from the current chain cursor. More...
 
static void Generic_GetChainTrait (UObject *const WorldContextObject, const int32 &ChainId, UScriptStruct *TraitType, void *const OutTraitData)
 
static void GetChainTraitHinted (UObject *WorldContextObject, const int32 ChainId, UScriptStruct *TraitType, const int32 TraitIndex, FGenericStruct &OutTraitData)
 Get an existing trait structure from the current chain cursor with a specific index hinted. More...
 
static void Generic_GetChainTraitHinted (UObject *const WorldContextObject, const int32 ChainId, UScriptStruct *TraitType, const int32 TraitIndex, void *const OutTraitData)
 
static UDetailGetChainDetail (UObject *WorldContextObject, const int32 ChainId, TSubclassOf< UDetail > DetailClass)
 Get a detail from a current chain iteration. More...
 
static UDetailGetChainDetailHinted (UObject *WorldContextObject, const int32 ChainId, TSubclassOf< UDetail > DetailClass, const int32 DetailIndexHint)
 Get a detail from a chain while hinting its index. More...
 
static void SpawnMachineSubject (UObject *WorldContextObject, const int32 Flagmark, FSubjectHandle &OutSubjectHandle)
 Spawn a new subject within a machine. More...
 
static FSubjectHandle SpawnMachineSubjectFromRecord (UObject *WorldContextObject, const FSubjectRecord &Record)
 Spawn a new subject based on a record. More...
 
static FSubjectHandle GetInvalidSubjectHandle ()
 Get the invalid subject handle constant. More...
 
static bool IsSubjectHandleValid (FSubjectHandle &SubjectHandle)
 Check if the subject handle is a valid one. More...
 
static void ResetSubjectHandle (FSubjectHandle &SubjectHandle)
 Reset the subject handle, making it invalid. 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 void GetSubjectiveFingerprint (TScriptInterface< ISubjective > Subjective, FFingerprint &OutFingerprint)
 Get the current fingerprint of a subjective. More...
 
static USubjectiveActorComponentGetSubjectiveComponent (TScriptInterface< ISubjective > Subjective)
 Cast subjective to an actor component. More...
 
static AActor * GetSubjectiveActor (TScriptInterface< ISubjective > Subjective)
 Get the actor of the subjective in question. More...
 
static TScriptInterface< ISubjectiveGetObjectSubjective (UObject *Object)
 Get a subjective from an object. More...
 
static UUserWidget * GetSubjectiveWidget (TScriptInterface< ISubjective > Subjective)
 Get the widget in question, if this subjective is actually an user widget. More...
 
static int32 GetSubjectFlagmark (const FSubjectHandle &SubjectHandle)
 Get the flagmark of the subject. More...
 
static void SetSubjectFlagmark (const FSubjectHandle &SubjectHandle, const int32 Flagmark=0x0)
 Set the flagmark of a subject. More...
 
static bool HasSubjectFlag (const FSubjectHandle &SubjectHandle, const EFlagmarkBit Flag=EFlagmarkBit::A)
 Get the state of a flag of the subject. More...
 
static void SetSubjectFlag (const FSubjectHandle &SubjectHandle, const EFlagmarkBit Flag=EFlagmarkBit::A, bool bState=true)
 Set/clear the flag of the subject. More...
 
static void ToggleSubjectFlag (const FSubjectHandle &SubjectHandle, const EFlagmarkBit Flag=EFlagmarkBit::A)
 Toggle the flag of the subject. More...
 
static int32 GetSubjectiveFlagmark (TScriptInterface< ISubjective > Subjective)
 Get the flagmark of the subjective. More...
 
static FSubjectHandle GetSubjectiveHandle (TScriptInterface< ISubjective > Subjective)
 Get the subject handle for a subjective. More...
 
static void SetSubjectiveFlagmark (TScriptInterface< ISubjective > Subjective, const int32 Flagmark=0x0)
 Set the flagmark of the subjective. More...
 
static bool HasSubjectiveFlag (TScriptInterface< ISubjective > Subjective, const EFlagmarkBit Flag=EFlagmarkBit::A)
 Get the state of a flag in the subjective. More...
 
static void SetSubjectiveFlag (TScriptInterface< ISubjective > Subjective, const EFlagmarkBit Flag=EFlagmarkBit::A, bool bState=true)
 Set/clear a flag of the subjective. More...
 
static void ToggleSubjectiveFlag (TScriptInterface< ISubjective > Subjective, const EFlagmarkBit Flag=EFlagmarkBit::A)
 Toggle a flag of the subjective. More...
 
static void GetSubjectiveTrait (TScriptInterface< ISubjective > Subjective, UScriptStruct *TraitType, FGenericStruct &TraitData)
 Get a trait from a subjective. More...
 
static void Generic_GetSubjectiveTrait (TScriptInterface< ISubjective > Subjective, UScriptStruct *const TraitType, void *const TraitData)
 
static void SetSubjectiveTrait (TScriptInterface< ISubjective > Subjective, UScriptStruct *TraitType, const FGenericStruct &TraitData)
 Set a trait structure for a subjective. More...
 
static void Generic_SetSubjectiveTrait (TScriptInterface< ISubjective > Subjective, UScriptStruct *const TraitType, const void *const TraitData)
 
static void ObtainSubjectiveTrait (TScriptInterface< ISubjective > Subjective, UScriptStruct *TraitType, FGenericStruct &TraitData)
 Obtain a trait from a subjective. More...
 
static void Generic_ObtainSubjectiveTrait (TScriptInterface< ISubjective > Subjective, UScriptStruct *const TraitType, void *const TraitData)
 
static void GetSubjectTrait (const FSubjectHandle &SubjectHandle, UScriptStruct *TraitType, FGenericStruct &TraitData)
 Get a trait from a subject. More...
 
static void Generic_GetSubjectTrait (const FSubjectHandle &SubjectHandle, UScriptStruct *const TraitType, void *const TraitData)
 
static void SetSubjectTrait (const FSubjectHandle &SubjectHandle, UScriptStruct *TraitType, const FGenericStruct &TraitData)
 Set a trait for a subject. More...
 
static void Generic_SetSubjectTrait (const FSubjectHandle &SubjectHandle, UScriptStruct *const TraitType, const void *const TraitData)
 
static void ObtainSubjectTrait (const FSubjectHandle &SubjectHandle, UScriptStruct *TraitType, FGenericStruct &TraitData)
 Obtain a trait from a subject. More...
 
static void Generic_ObtainSubjectTrait (const FSubjectHandle &SubjectHandle, UScriptStruct *const TraitType, void *const TraitData)
 
static void RemoveSubjectTrait (const FSubjectHandle &SubjectHandle, UScriptStruct *TraitType)
 Remove a trait from the subject. More...
 
static void CopySubjectTraits (const FSubjectHandle &SourceSubjectHandle, const FSubjectHandle &DestinationSubjectHandle)
 Copy all of the traits from one subject to another. More...
 
static void RemoveAllSubjectTraits (const FSubjectHandle &SubjectHandle)
 Remove all traits from a subject. More...
 
static void RemoveSubjectiveTrait (TScriptInterface< ISubjective > Subjective, UScriptStruct *TraitType)
 Remove a trait from the subjective. More...
 
static bool HasSubjectTrait (const FSubjectHandle &SubjectHandle, UScriptStruct *TraitType)
 Check if the subject contains a trait of a certain type. More...
 
static bool HasSubjectiveTrait (TScriptInterface< ISubjective > Subjective, UScriptStruct *TraitType)
 Check if the subjective contains a trait of a certain type. More...
 
static UDetailEnableSubjectiveDetail (TScriptInterface< ISubjective > Subjective, TSubclassOf< UDetail > DetailClass)
 Enable a detail of a certain type for a subjective. 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, TArray< UDetail * > &OutDetails, const bool bIncludeDisabled=false)
 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 BringSubjectOnlineOnServer (const FSubjectHandle &SubjectHandle)
 Bring the subject to be available on the network. More...
 
static int64 GetSubjectNetworkId (const FSubjectHandle &SubjectHandle)
 Get the unique network identifier of the subject. More...
 
static bool IsSubjectOnline (const FSubjectHandle &SubjectHandle)
 Check if the subject is online. More...
 
static bool IsSubjectServerSide (const FSubjectHandle &SubjectHandle)
 Check if the subject is server-side. More...
 
static bool IsSubjectClientSide (const FSubjectHandle &SubjectHandle)
 Check if the subject is client-side. More...
 
static FTraitmark GetSubjectTraitmarkPass (const FSubjectHandle &SubjectHandle)
 Get the server-side list of traits allowed to be received from clients. More...
 
static void SetSubjectTraitmarkPass (const FSubjectHandle &SubjectHandle, const FTraitmark &InTraitmarkPass)
 Set the server-side list of traits allowed to be received from clients. More...
 
static FTraitmark GetSubjectiveTraitmarkPass (TScriptInterface< ISubjective > Subjective)
 Get the server-side list of traits allowed to be received from clients. More...
 
static void SetSubjectiveTraitmarkPass (TScriptInterface< ISubjective > Subjective, const FTraitmark &InTraitmarkPass)
 Set the server-side list of traits allowed to be received from clients. More...
 
static void PushExtraSubjectTrait (const FSubjectHandle &SubjectHandle, UScriptStruct *TraitType, const FGenericStruct &TraitData, const bool bSetForLocal=false)
 Push an additional trait structure to the clients version of the online subject. More...
 
static void Generic_PushExtraSubjectTrait (const FSubjectHandle &SubjectHandle, UScriptStruct *const TraitType, const void *const TraitData, const bool bSetForLocal=false)
 
static void PushExtraSubjectiveTrait (TScriptInterface< ISubjective > Subjective, UScriptStruct *TraitType, const FGenericStruct &TraitData)
 Push an additional trait to an online subjective. More...
 
static void Generic_PushExtraSubjectiveTrait (TScriptInterface< ISubjective > Subjective, UScriptStruct *const TraitType, const void *const TraitData)
 
static void PushSubjectTraitThroughBearer (UNetworkBearerComponent *NetworkBearer, const FSubjectHandle &SubjectHandle, UScriptStruct *TraitType)
 Push an existing trait to a remote version of the subject through the bearer. More...
 
static void PushExtraSubjectTraitThroughBearer (UNetworkBearerComponent *NetworkBearer, const FSubjectHandle &SubjectHandle, UScriptStruct *TraitType, const FGenericStruct &TraitData)
 Push an additional trait to a remote version of the subject through the bearer. More...
 
static void Generic_PushExtraSubjectTraitThroughBearer (UNetworkBearerComponent *NetworkBearer, const FSubjectHandle &SubjectHandle, UScriptStruct *const TraitType, const void *const TraitData)
 
static void DisableSubjectDetail (FSubjectHandle &SubjectHandle, TSubclassOf< UDetail > DetailClass, const bool bDisableMultiple=false)
 Disable a detail for the subject. More...
 
static TScriptInterface< ISubjectiveGetSubjectSubjective (const FSubjectHandle &SubjectHandle)
 Get the subjective of the subject (if any). More...
 
static bool HasSubjectDetail (const FSubjectHandle &SubjectHandle, TSubclassOf< UDetail > DetailClass)
 Check if the subject contains a detail. 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

Add a detail class to a fingerprint.

◆ 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.

◆ AddToSubjectHandles16()

static int32 UApparatusFunctionLibrary::AddToSubjectHandles16 ( FSubjectHandles16 SubjectHandles,
FSubjectHandle  SubjectHandle 
)
inlinestatic

Add a subject handle to an array.

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

◆ 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.

◆ AddToSubjectHandles8()

static int32 UApparatusFunctionLibrary::AddToSubjectHandles8 ( FSubjectHandles8 SubjectHandles,
FSubjectHandle  SubjectHandle 
)
inlinestatic

Add a subject handle to an array.

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

◆ AddUniqueToSubjectHandles16()

static int32 UApparatusFunctionLibrary::AddUniqueToSubjectHandles16 ( FSubjectHandles16 SubjectHandles,
FSubjectHandle  SubjectHandle 
)
inlinestatic

Add a unique 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.

◆ AddUniqueToSubjectHandles8()

static int32 UApparatusFunctionLibrary::AddUniqueToSubjectHandles8 ( FSubjectHandles8 SubjectHandles,
FSubjectHandle  SubjectHandle 
)
inlinestatic

Add a unique subject handle to an array.

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

◆ AdvanceChain()

bool UApparatusFunctionLibrary::AdvanceChain ( UObject *  WorldContextObject,
const int32  ChainId 
)
inlinestatic

Advance while iterating upon a chain.

Parameters
WorldContextObjectAn object to get a world context from.
ChainIdThe identifier of a 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.

◆ BeginChain()

static bool UApparatusFunctionLibrary::BeginChain ( UObject *  WorldContextObject,
const int32  ChainId 
)
inlinestatic

Begin iterating upon a chain.

Parameters
WorldContextObjectAn object to get a world context from.
ChainIdThe identifier of a chain to iterate upon.
Returns
Is the current iteration viable?

◆ BeginOrAdvanceChain()

static bool UApparatusFunctionLibrary::BeginOrAdvanceChain ( UObject *  WorldContextObject,
const int32  ChainId 
)
inlinestatic

Begin iterating or advance while iterating upon a chain.

Parameters
WorldContextObjectAn object to get a world context from.
ChainIdThe identifier of a chain to iterate upon.
Returns
Is the current iteration viable or an end has come?

◆ BitMaskAnd()

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

Conjunct two bit masks resulting in a bit mask.

◆ BitMaskOr()

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

Disjunct two bitmasks resulting in a bitmask.

◆ BringSubjectOnlineOnServer()

static void UApparatusFunctionLibrary::BringSubjectOnlineOnServer ( const FSubjectHandle SubjectHandle)
inlinestatic

Bring the subject to be available on the network.

Assigns a unique network identifier and makes cross-peer procedures possible.

Parameters
SubjectHandleThe subject to bring online. Must be a valid handle.

◆ ChainIterableNum()

static int32 UApparatusFunctionLibrary::ChainIterableNum ( UObject *  WorldContextObject,
const int32  ChainId 
)
inlinestatic

Get the total iterable number of entities (Subjects/Subjectives) in the chain.

Parameters
WorldContextObjectAn object to get a world context from.
ChainIdThe identifier of a chain to examine.
Returns
The number of entities available for iteration.

◆ ClearSubjectHandles16()

static void UApparatusFunctionLibrary::ClearSubjectHandles16 ( FSubjectHandles16 SubjectHandles)
inlinestatic

Remove all elements from the array.

◆ ClearSubjectHandles4()

static void UApparatusFunctionLibrary::ClearSubjectHandles4 ( FSubjectHandles4 SubjectHandles)
inlinestatic

Remove all elements from the array.

◆ ClearSubjectHandles8()

static void UApparatusFunctionLibrary::ClearSubjectHandles8 ( FSubjectHandles8 SubjectHandles)
inlinestatic

Remove all elements from the array.

◆ CopySubjectTraits()

static void UApparatusFunctionLibrary::CopySubjectTraits ( const FSubjectHandle SourceSubjectHandle,
const FSubjectHandle DestinationSubjectHandle 
)
inlinestatic

Copy all of the traits from one subject to another.

The existing traits of the destination subject are not removed but the new ones are added and/or override the existing matching.

Parameters
SourceSubjectHandleThe source subject to copy from. Must be a valid handle.
DestinationSubjectHandleThe destination subject to copy to. Must be a valid handle.

◆ DECLARE_FUNCTION() [1/11]

UApparatusFunctionLibrary::DECLARE_FUNCTION ( execGetChainTrait  )
inline

◆ DECLARE_FUNCTION() [2/11]

UApparatusFunctionLibrary::DECLARE_FUNCTION ( execGetChainTraitHinted  )
inline

◆ DECLARE_FUNCTION() [3/11]

UApparatusFunctionLibrary::DECLARE_FUNCTION ( execGetSubjectiveTrait  )
inline

◆ DECLARE_FUNCTION() [4/11]

UApparatusFunctionLibrary::DECLARE_FUNCTION ( execGetSubjectTrait  )
inline

◆ DECLARE_FUNCTION() [5/11]

UApparatusFunctionLibrary::DECLARE_FUNCTION ( execObtainSubjectiveTrait  )
inline

◆ DECLARE_FUNCTION() [6/11]

UApparatusFunctionLibrary::DECLARE_FUNCTION ( execObtainSubjectTrait  )
inline

◆ DECLARE_FUNCTION() [7/11]

UApparatusFunctionLibrary::DECLARE_FUNCTION ( execPushExtraSubjectiveTrait  )
inline

◆ DECLARE_FUNCTION() [8/11]

UApparatusFunctionLibrary::DECLARE_FUNCTION ( execPushExtraSubjectTrait  )
inline

◆ DECLARE_FUNCTION() [9/11]

UApparatusFunctionLibrary::DECLARE_FUNCTION ( execPushExtraSubjectTraitThroughBearer  )
inline

◆ DECLARE_FUNCTION() [10/11]

UApparatusFunctionLibrary::DECLARE_FUNCTION ( execSetSubjectiveTrait  )
inline

◆ DECLARE_FUNCTION() [11/11]

UApparatusFunctionLibrary::DECLARE_FUNCTION ( execSetSubjectTrait  )
inline

◆ DespawnMachineSubject()

static 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 UDetail * UApparatusFunctionLibrary::EnableSubjectiveDetail ( TScriptInterface< ISubjective Subjective,
TSubclassOf< UDetail DetailClass 
)
inlinestatic

Enable a detail of a certain type for a subjective.

If the detail already exists and is active, nothing is performed, and that exact 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.

Parameters
SubjectiveThe subjective to modify. Must be a valid one.
DetailClassThe class of the detail to enable.
Returns
The enabled detail instance.

◆ 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

Check if a fingerprint matches a filter.

◆ GeDetailMechanism()

static AMechanism * UApparatusFunctionLibrary::GeDetailMechanism ( const UDetail Detail)
inlinestatic

◆ Generic_GetChainTrait()

static void UApparatusFunctionLibrary::Generic_GetChainTrait ( UObject *const  WorldContextObject,
const int32 &  ChainId,
UScriptStruct *  TraitType,
void *const  OutTraitData 
)
inlinestatic

◆ Generic_GetChainTraitHinted()

static void UApparatusFunctionLibrary::Generic_GetChainTraitHinted ( UObject *const  WorldContextObject,
const int32  ChainId,
UScriptStruct *  TraitType,
const int32  TraitIndex,
void *const  OutTraitData 
)
inlinestatic

◆ Generic_GetSubjectiveTrait()

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

◆ Generic_GetSubjectTrait()

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

◆ Generic_ObtainSubjectiveTrait()

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

◆ Generic_ObtainSubjectTrait()

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

◆ Generic_PushExtraSubjectiveTrait()

static void UApparatusFunctionLibrary::Generic_PushExtraSubjectiveTrait ( TScriptInterface< ISubjective Subjective,
UScriptStruct *const  TraitType,
const void *const  TraitData 
)
inlinestatic

◆ Generic_PushExtraSubjectTrait()

static void UApparatusFunctionLibrary::Generic_PushExtraSubjectTrait ( const FSubjectHandle SubjectHandle,
UScriptStruct *const  TraitType,
const void *const  TraitData,
const bool  bSetForLocal = false 
)
inlinestatic

◆ Generic_PushExtraSubjectTraitThroughBearer()

static void UApparatusFunctionLibrary::Generic_PushExtraSubjectTraitThroughBearer ( UNetworkBearerComponent NetworkBearer,
const FSubjectHandle SubjectHandle,
UScriptStruct *const  TraitType,
const void *const  TraitData 
)
inlinestatic

◆ Generic_SetSubjectiveTrait()

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

◆ Generic_SetSubjectTrait()

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

◆ GetChainDetail()

static UDetail * UApparatusFunctionLibrary::GetChainDetail ( UObject *  WorldContextObject,
const int32  ChainId,
TSubclassOf< UDetail DetailClass 
)
inlinestatic

Get a detail from a current chain iteration.

Parameters
WorldContextObjectAn object to get a world context from.
ChainIdThe identifier of a chain to get from.
DetailClassThe class of the detail to get.
Returns
The detail of the specified type.

◆ GetChainDetailHinted()

static UDetail * UApparatusFunctionLibrary::GetChainDetailHinted ( UObject *  WorldContextObject,
const int32  ChainId,
TSubclassOf< UDetail DetailClass,
const int32  DetailIndexHint 
)
inlinestatic

Get a detail from a chain while hinting its index.

Parameters
WorldContextObjectAn object to get a world context from.
ChainIdThe identifier of a chain to iterate upon.
DetailClassA class of the detail to get.
DetailIndexHintThe hinted index of the detail to get.

◆ GetChainSubject()

static FSubjectHandle UApparatusFunctionLibrary::GetChainSubject ( UObject *  WorldContextObject,
const int32  ChainId 
)
inlinestatic

Get the current iteration's subject handle.

Parameters
WorldContextObjectAn object to get a world context from.
ChainIdThe identifier of a chain to iterate upon.
Returns
The subject handle of the current iteration.

◆ GetChainSubjective()

static TScriptInterface< ISubjective > UApparatusFunctionLibrary::GetChainSubjective ( UObject *  WorldContextObject,
const int32  ChainId 
)
inlinestatic

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

Parameters
WorldContextObjectAn object to get a world context from.
ChainIdThe identifier of a chain to iterate upon.
Returns
The subjective of the current iteration.

◆ GetChainTrait()

static void UApparatusFunctionLibrary::GetChainTrait ( UObject *  WorldContextObject,
const int32  ChainId,
UScriptStruct *  TraitType,
FGenericStruct &  OutTraitData 
)
inlinestatic

Get an existing trait structure from the current chain cursor.

◆ GetChainTraitHinted()

static void UApparatusFunctionLibrary::GetChainTraitHinted ( UObject *  WorldContextObject,
const int32  ChainId,
UScriptStruct *  TraitType,
const int32  TraitIndex,
FGenericStruct &  OutTraitData 
)
inlinestatic

Get an existing trait structure from the current chain cursor with a specific index hinted.

◆ GetFingerprintFlagmark()

static int32 UApparatusFunctionLibrary::GetFingerprintFlagmark ( const FFingerprint Fingerprint)
inlinestatic

Get fingerprint's flagmark.

◆ GetInvalidSubjectHandle()

static FSubjectHandle UApparatusFunctionLibrary::GetInvalidSubjectHandle ( )
inlinestatic

Get the invalid subject handle constant.

◆ GetObjectSubjective()

static TScriptInterface< ISubjective > UApparatusFunctionLibrary::GetObjectSubjective ( UObject *  Object)
inlinestatic

Get a subjective from an object.

This method is smart enough to search for subjective within an actor's components (if any).

Parameters
ObjectThe object to examine. If is an actor, its components are also examined.
Returns
The subjective derived from the object. Returns an invalid one if the search has failed.

◆ GetSubjectFlagmark()

static int32 UApparatusFunctionLibrary::GetSubjectFlagmark ( const FSubjectHandle SubjectHandle)
inlinestatic

Get the flagmark of the subject.

Parameters
SubjectHandleThe subject to examine. Must be a valid one.
Returns
The current flagmark of the subject.

◆ GetSubjectHandles16At()

static FSubjectHandle UApparatusFunctionLibrary::GetSubjectHandles16At ( const FSubjectHandles16 SubjectHandles,
const int32  Index 
)
inlinestatic

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

◆ GetSubjectHandles16Length()

static int32 UApparatusFunctionLibrary::GetSubjectHandles16Length ( FSubjectHandles16 SubjectHandles)
inlinestatic

Get the number of elements in the array.

◆ 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.

◆ GetSubjectHandles8At()

static FSubjectHandle UApparatusFunctionLibrary::GetSubjectHandles8At ( const FSubjectHandles8 SubjectHandles,
const int32  Index 
)
inlinestatic

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

◆ GetSubjectHandles8Length()

static int32 UApparatusFunctionLibrary::GetSubjectHandles8Length ( FSubjectHandles8 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.

◆ GetSubjectiveComponent()

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

Cast subjective to an actor component.

◆ GetSubjectiveDetails()

void UApparatusFunctionLibrary::GetSubjectiveDetails ( TScriptInterface< ISubjective Subjective,
TArray< UDetail * > &  OutDetails,
const bool  bIncludeDisabled = false 
)
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 subjective.

◆ GetSubjectiveFlagmark()

static int32 UApparatusFunctionLibrary::GetSubjectiveFlagmark ( TScriptInterface< ISubjective Subjective)
inlinestatic

Get the flagmark of the subjective.

Unlike the subject version this is safe to be called during the construction script.

Parameters
SubjectiveThe subjective to examine. Must be a valid one.
Returns
The current flagmark of the subjective.

◆ GetSubjectiveHandle()

static FSubjectHandle UApparatusFunctionLibrary::GetSubjectiveHandle ( TScriptInterface< ISubjective Subjective)
inlinestatic

Get the subject handle for a subjective.

If the subjective is not valid, returns an invalid subject handle.

Parameters
SubjectiveThe subjective to get a handle from.
Returns
A handle to a subjective's subject.

◆ GetSubjectivePreferredBelt()

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

Get the preferred user-set belt.

Returns
The preferred belt of the subjective or null, if was not set.

◆ GetSubjectiveTrait()

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

Get a trait from a subjective.

Parameters
SubjectiveThe subjective to get the trait from.
TraitTypeThe type of the trait to get.
TraitDataThe trait got.

◆ GetSubjectiveTraitmarkPass()

static FTraitmark UApparatusFunctionLibrary::GetSubjectiveTraitmarkPass ( TScriptInterface< ISubjective Subjective)
inlinestatic

Get the server-side list of traits allowed to be received from clients.

Can only be queried on a server-side subjective version.

Parameters
SubjectiveThe subjective to set for. Must be a valid server-side subjective.
Returns
The current traitmark pass whitelist.

◆ GetSubjectiveWidget()

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

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

◆ GetSubjectNetworkId()

static int64 UApparatusFunctionLibrary::GetSubjectNetworkId ( const FSubjectHandle SubjectHandle)
inlinestatic

Get the unique network identifier of the subject.

Parameters
SubjectHandleThe subject to examine. Must be a valid handle.

◆ 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 &  TraitData 
)
inlinestatic

Get a trait from a subject.

Parameters
SubjectHandleThe subject to get from.
TraitTypeThe type of the trait to get.
TraitDataThe trait got.

◆ GetSubjectTraitmarkPass()

static FTraitmark UApparatusFunctionLibrary::GetSubjectTraitmarkPass ( const FSubjectHandle SubjectHandle)
inlinestatic

Get the server-side list of traits allowed to be received from clients.

Can only be queried on a server-side subject version.

Parameters
SubjectHandleThe subject to set for. Must be a valid handle.
Returns
The current traitmark pass whitelist.

◆ HasSubjectDetail()

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

Check if the subject contains a detail.

◆ HasSubjectFlag()

static bool UApparatusFunctionLibrary::HasSubjectFlag ( const FSubjectHandle SubjectHandle,
const EFlagmarkBit  Flag = EFlagmarkBit::A 
)
inlinestatic

Get the state of a flag of the subject.

Parameters
SubjectHandleThe subject to examine. Must be a valid one.
FlagThe flagmark bit to examine.
Returns
The state of the flag.

◆ 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.

◆ HasSubjectiveFlag()

static bool UApparatusFunctionLibrary::HasSubjectiveFlag ( TScriptInterface< ISubjective Subjective,
const EFlagmarkBit  Flag = EFlagmarkBit::A 
)
inlinestatic

Get the state of a flag in the subjective.

Parameters
SubjectiveThe subjective to examine. Must be a valid one.
FlagThe flagmark bit to examine.
Returns
The state of the flag.

◆ HasSubjectiveTrait()

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

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

Parameters
SubjectiveThe subjective to examine. Must be a valid one.
TraitTypeThe type of the trait to check for.
Returns
The state of examination.

◆ HasSubjectTrait()

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

Check if the subject contains a trait of a certain type.

Parameters
SubjectHandleThe subject to examine. Must be a valid handle.
TraitTypeThe trait type to check for.
Returns
The result of examination.

◆ IsSubjectClientSide()

static bool UApparatusFunctionLibrary::IsSubjectClientSide ( const FSubjectHandle SubjectHandle)
inlinestatic

Check if the subject is client-side.

A subject must be both online and be part of a client world in order to be considered client-side.

Parameters
SubjectHandleThe subject to examine. Must be a valid handle.

◆ IsSubjectHandleValid()

static bool UApparatusFunctionLibrary::IsSubjectHandleValid ( FSubjectHandle SubjectHandle)
inlinestatic

Check if the subject handle is a valid one.

◆ IsSubjectOnline()

static bool UApparatusFunctionLibrary::IsSubjectOnline ( const FSubjectHandle SubjectHandle)
inlinestatic

Check if the subject is online.

Examines if a subject was brought online and is currently networked.

Parameters
SubjectHandleThe subject to examine. Must be a valid handle.

◆ IsSubjectServerSide()

static bool UApparatusFunctionLibrary::IsSubjectServerSide ( const FSubjectHandle SubjectHandle)
inlinestatic

Check if the subject is server-side.

A subject must be both online and be part of a server world in order to be considered server-side.

Parameters
SubjectHandleThe subject to examine. Must be a valid handle.

◆ MakeCachedFilter0()

static FFilter UApparatusFunctionLibrary::MakeCachedFilter0 ( const FString &  Key,
const int32  Flagmark 
)
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 int32  Flagmark 
)
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 int32  Flagmark 
)
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 int32  Flagmark 
)
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 int32  Flagmark 
)
inlinestatic

Make a cached filter with 8 components;.

◆ MakeDetailmark()

FDetailmark UApparatusFunctionLibrary::MakeDetailmark ( const TArray< TSubclassOf< UDetail > > &  Details)
inlinestatic

Make a detailmark from a list of detail classes.

◆ MakeFilter()

FFilter UApparatusFunctionLibrary::MakeFilter ( const TArray< UScriptStruct * > &  Traits,
const TArray< TSubclassOf< UDetail > > &  Details,
const TArray< UScriptStruct * > &  ExcludedTraits,
const TArray< TSubclassOf< UDetail > > &  ExcludedDetails,
const int32  Flagmark = 0x2,
const int32  ExcludingFlagmark = 0x1 
)
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 int32  Flagmark 
)
inlinestatic

Make a fingerprint.

◆ MakeTraitmark()

FTraitmark UApparatusFunctionLibrary::MakeTraitmark ( const TArray< UScriptStruct * > &  Traits)
inlinestatic

Make a traitmark from a list of trait types.

◆ MechanismEnchain()

void UApparatusFunctionLibrary::MechanismEnchain ( UObject *  WorldContextObject,
const FFilter Filter,
int32 &  OutChainId 
)
inlinestatic

Enchain multiple iterable sequences (chunks or belts) based on a filter.

Parameters
WorldContextObjectAn object to get a world context from.
FilterA filter to enchain under.
OutChainIdThe output chain identifier.
Returns
The status of the operation.

◆ MechanismEnchainBooted()

void UApparatusFunctionLibrary::MechanismEnchainBooted ( UObject *  WorldContextObject,
FFilter Filter,
int32 &  OutChainId 
)
inlinestatic

◆ MechanismEnchainHalted()

void UApparatusFunctionLibrary::MechanismEnchainHalted ( UObject *  WorldContextObject,
FFilter Filter,
int32 &  OutChainId 
)
inlinestatic

◆ ObtainSubjectiveTrait()

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

Obtain a trait from a subjective.

Parameters
SubjectiveThe subjective to obtain a trait from.
TraitTypeThe type of the trait to obtain.
TraitDataThe obtained trait.

◆ ObtainSubjectTrait()

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

Obtain a trait from a subject.

Parameters
SubjectHandleThe subject to obtain the trait from.
TraitTypeThe type of trait to obtain.
TraitDataThe obtained trait.

◆ PushExtraSubjectiveTrait()

static void UApparatusFunctionLibrary::PushExtraSubjectiveTrait ( TScriptInterface< ISubjective Subjective,
UScriptStruct *  TraitType,
const FGenericStruct &  TraitData 
)
inlinestatic

Push an additional trait to an online subjective.

The client must own the subjective.

Parameters
SubjectiveThe subjective to push the trait to.
TraitTypeThe type of the trait to push.
TraitDataThe trait to push.

◆ PushExtraSubjectTrait()

static void UApparatusFunctionLibrary::PushExtraSubjectTrait ( const FSubjectHandle SubjectHandle,
UScriptStruct *  TraitType,
const FGenericStruct &  TraitData,
const bool  bSetForLocal = false 
)
inlinestatic

Push an additional trait structure to the clients version of the online subject.

Parameters
SubjectHandleA handle for the subject to push to.
TraitTypeThe type of the trait to push.
TraitDataThe data of the trait to push.
bSetForLocalAlso set the trait for the local version.

◆ PushExtraSubjectTraitThroughBearer()

static void UApparatusFunctionLibrary::PushExtraSubjectTraitThroughBearer ( UNetworkBearerComponent NetworkBearer,
const FSubjectHandle SubjectHandle,
UScriptStruct *  TraitType,
const FGenericStruct &  TraitData 
)
static

Push an additional trait to a remote version of the subject through the bearer.

This function may be used to send a trait to a single specific client only. The subject will be brought online automatically if needed.

Parameters
NetworkBearerThe network bearer to push through.
SubjectHandleThe subject to push the trait for.
TraitTypeThe type of the trait to push. Must not be a null.
TraitDataThe data of the trait to push. Must not e a null.

◆ PushSubjectTraitThroughBearer()

static void UApparatusFunctionLibrary::PushSubjectTraitThroughBearer ( UNetworkBearerComponent NetworkBearer,
const FSubjectHandle SubjectHandle,
UScriptStruct *  TraitType 
)
inlinestatic

Push an existing trait to a remote version of the subject through the bearer.

This function may be used to send a trait to a single specific client only. The subject will be brought online automatically if needed.

Parameters
NetworkBearerThe network bearer to push through.
SubjectHandleThe subject to push the trait for.
TraitTypeThe type of the trait to push. Must not be a null.

◆ RemoveAllSubjectTraits()

static void UApparatusFunctionLibrary::RemoveAllSubjectTraits ( const FSubjectHandle SubjectHandle)
inlinestatic

Remove all traits from a subject.

Parameters
SubjectHandleThe subject to remove the traits from. Must be a valid handle.

◆ RemoveDetailFromFingerprint()

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

Remove a detail class from a fingerprint.

◆ RemoveFromSubjectHandles16()

void UApparatusFunctionLibrary::RemoveFromSubjectHandles16 ( FSubjectHandles16 SubjectHandles,
FSubjectHandle  SubjectHandle 
)
inlinestatic

Remove a subject handle from the array.

◆ RemoveFromSubjectHandles4()

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

Remove a subject handle from the array.

◆ RemoveFromSubjectHandles8()

void UApparatusFunctionLibrary::RemoveFromSubjectHandles8 ( FSubjectHandles8 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.

Parameters
SubjectiveThe subjective to remove a trait from. Must be a valid one.
TraitTypeThe type of the trait to remove.

◆ RemoveSubjectTrait()

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

Remove a trait from the subject.

Parameters
SubjectHandleThe subject to remove a trait from.
TraitTypeThe type of trait to remove.

◆ ResetSubjectHandle()

static void UApparatusFunctionLibrary::ResetSubjectHandle ( FSubjectHandle SubjectHandle)
inlinestatic

Reset the subject handle, making it invalid.

The subject itself won't be despawned though.

◆ SetSubjectFlag()

static void UApparatusFunctionLibrary::SetSubjectFlag ( const FSubjectHandle SubjectHandle,
const EFlagmarkBit  Flag = EFlagmarkBit::A,
bool  bState = true 
)
inlinestatic

Set/clear the flag of the subject.

Parameters
SubjectHandleThe subject handle to set for. Must be a valid one.
FlagThe flagmark bit to set. You are not allowed to use system flags like Booted and Online here.
bStateThe flag state to set to.

◆ SetSubjectFlagmark()

static void UApparatusFunctionLibrary::SetSubjectFlagmark ( const FSubjectHandle SubjectHandle,
const int32  Flagmark = 0x0 
)
inlinestatic

Set the flagmark of a subject.

Parameters
SubjectHandleThe subject to change. Must be a valid one.
FlagmarkThe flagmark to set. You are not allowed to use system flags like Booted and Online here.

◆ SetSubjectHandles16At()

static void UApparatusFunctionLibrary::SetSubjectHandles16At ( FSubjectHandles16 SubjectHandles,
const int32  Index,
const FSubjectHandle SubjectHandle 
)
inlinestatic

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

◆ 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.

◆ SetSubjectHandles8At()

static void UApparatusFunctionLibrary::SetSubjectHandles8At ( FSubjectHandles8 SubjectHandles,
const int32  Index,
const FSubjectHandle SubjectHandle 
)
inlinestatic

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

◆ SetSubjectiveFlag()

static void UApparatusFunctionLibrary::SetSubjectiveFlag ( TScriptInterface< ISubjective Subjective,
const EFlagmarkBit  Flag = EFlagmarkBit::A,
bool  bState = true 
)
inlinestatic

Set/clear a flag of the subjective.

You are not allowed to set any of the system-level flags.

Unlike subject-based version this is safe to be used during the construction script.

Parameters
SubjectiveThe subjective to change. Must be a valid one.
FlagThe flagmark bit to set. You are not allowed to use system flags like Booted and Online here.
bStateThe flag state to set to.

◆ SetSubjectiveFlagmark()

static void UApparatusFunctionLibrary::SetSubjectiveFlagmark ( TScriptInterface< ISubjective Subjective,
const int32  Flagmark = 0x0 
)
inlinestatic

Set the flagmark of the subjective.

Unlike the subject version this is safe to be called during the construction script.

Parameters
SubjectiveThe subjective to change. Must be a valid one.
FlagmarkThe flagmark to set. You are not allowed to use system-level flags here.

◆ SetSubjectiveTrait()

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

Set a trait structure for a subjective.

Parameters
SubjectiveThe subjective to set the trait for.
TraitTypeThe type of trait to set.
TraitDataThe trait to set.

◆ SetSubjectiveTraitmarkPass()

static void UApparatusFunctionLibrary::SetSubjectiveTraitmarkPass ( TScriptInterface< ISubjective Subjective,
const FTraitmark InTraitmarkPass 
)
inlinestatic

Set the server-side list of traits allowed to be received from clients.

Can only be set for a server-side subjective version.

Parameters
SubjectiveThe subjective to set for. Must be a valid server-side subjective.
InTraitmarkPassThe new traitmark to be used as a whitelist.

◆ SetSubjectTrait()

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

Set a trait for a subject.

Parameters
SubjectHandleThe subject to set a trait for.
TraitTypeThe type of the trait to set.
TraitDataThe trait to set.

◆ SetSubjectTraitmarkPass()

static void UApparatusFunctionLibrary::SetSubjectTraitmarkPass ( const FSubjectHandle SubjectHandle,
const FTraitmark InTraitmarkPass 
)
inlinestatic

Set the server-side list of traits allowed to be received from clients.

Can only be set for a server-side subject version.

Parameters
SubjectHandleThe subject to set for. Must be a valid handle.
InTraitmarkPassThe traitmark to be used as a whitelist.

◆ SpawnMachineSubject()

static void UApparatusFunctionLibrary::SpawnMachineSubject ( UObject *  WorldContextObject,
const int32  Flagmark,
FSubjectHandle OutSubjectHandle 
)
inlinestatic

Spawn a new subject within a machine.

This function may not be used in the construction scripts.

Parameters
WorldContextObjectAn object for the world context.
FlagmarkThe initial flagmark to spawn with. You are not allowed to use system flags like Booted and Online here.
OutSubjectHandleThe resulting subject handle.

◆ SpawnMachineSubjectFromRecord()

static FSubjectHandle UApparatusFunctionLibrary::SpawnMachineSubjectFromRecord ( UObject *  WorldContextObject,
const FSubjectRecord Record 
)
inlinestatic

Spawn a new subject based on a record.

This function may not be used in the construction scripts.

Parameters
WorldContextObjectAn object for the world context.
RecordThe subject record to clone.
Returns
The resulting handle.

◆ ToggleSubjectFlag()

static void UApparatusFunctionLibrary::ToggleSubjectFlag ( const FSubjectHandle SubjectHandle,
const EFlagmarkBit  Flag = EFlagmarkBit::A 
)
inlinestatic

Toggle the flag of the subject.

Parameters
SubjectHandleThe subject handle to change for. Must be a valid one.
FlagThe flagmark bit to toggle. You are not allowed to use system flags like Booted and Online here.

◆ ToggleSubjectiveFlag()

static void UApparatusFunctionLibrary::ToggleSubjectiveFlag ( TScriptInterface< ISubjective Subjective,
const EFlagmarkBit  Flag = EFlagmarkBit::A 
)
inlinestatic

Toggle a flag of the subjective.

You are not allowed to change any of the system-level flags.

Unlike subject-based version this is safe to be used during the construction script.

Parameters
SubjectiveThe subjective to change. Must be a valid one.
FlagThe flag bit to change. You are not allowed to use system flags like Booted and Online here.

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