Apparatus Version 1.22
ECS data-oriented workflow for Unreal Engine.
Classes | Macros | Enumerations | Functions
Mechanism.h File Reference
#include <atomic>
#include <type_traits>
#include "CoreMinimal.h"
#include "UObject/Class.h"
#include "Containers/Queue.h"
#include "Misc/TVariant.h"
#include "Filter.h"
#include "UnsafeSubjectHandle.h"
#include "TraitInfo.h"
#include "Mechanical.h"
#include "AdjectiveInfo.h"
#include "MechanicInfo.h"
#include "Chain.h"
#include "ChunkProxy.h"
#include "Mechanism.generated.h"
#include "Machine.h"
Include dependency graph for Mechanism.h:
This graph shows which files directly or indirectly include this file:

Classes

class  AMechanism
 The scoped Apparatus state manager. More...
 
struct  AMechanism::FDeferredsApplicator
 A safe applicator for the deferred changes (or deferreds). More...
 

Macros

#define SKIP_MACHINE_H
 
#define MECHANISM_H_SKIPPED_MACHINE_H
 

Enumerations

enum class  EDeferred {
  All = -1 , None = 0 , SubjectSpawn , SubjectDespawn ,
  TraitSetting , TraitObtainment , TraitRemoval , AllTraitsRemoval
}
 The kind of deferred operation. More...
 

Functions

 DECLARE_STATS_GROUP (TEXT("Mechanism"), STATGROUP_Mechanism, STATCAT_Advanced)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("Boot"), STAT_MechanismBoot, STATGROUP_Mechanism, APPARATUSRUNTIME_API)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("Buffer"), STAT_MechanismBuffer, STATGROUP_Mechanism, APPARATUSRUNTIME_API)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("Find Matching Iterables"), STAT_MechanismFindMatchingIterables, STATGROUP_Mechanism, APPARATUSRUNTIME_API)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("Evaluate"), STAT_MechanismEvaluate, STATGROUP_Mechanism, APPARATUSRUNTIME_API)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("Evaluate ~ Input"), STAT_MechanismEvaluateInput, STATGROUP_Mechanism, APPARATUSRUNTIME_API)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("Evaluate ~ Steady"), STAT_MechanismEvaluateSteady, STATGROUP_Mechanism, APPARATUSRUNTIME_API)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("Evaluate ~ Presentation"), STAT_MechanismEvaluatePresentation, STATGROUP_Mechanism, APPARATUSRUNTIME_API)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("Fetch"), STAT_MechanismFetchDetails, STATGROUP_Mechanism, APPARATUSRUNTIME_API)
 

Macro Definition Documentation

◆ MECHANISM_H_SKIPPED_MACHINE_H

#define MECHANISM_H_SKIPPED_MACHINE_H

◆ SKIP_MACHINE_H

#define SKIP_MACHINE_H

Enumeration Type Documentation

◆ EDeferred

enum class EDeferred
strong

The kind of deferred operation.

Matches the AMechanism::FDeferred union ordering.

Enumerator
All 

A special constant denoting all type of deferreds at the same time.

None 

A special constant denoting no type of deferreds.

SubjectSpawn 

Spawning a new subject.

SubjectDespawn 

Despawning an existing subject.

TraitSetting 

Setting a trait for a subject.

TraitObtainment 

Obtainment a trait for a subject.

TraitRemoval 

Removing a trait from a subject.

AllTraitsRemoval 

Removing all of the traits from a subject.

Function Documentation

◆ DECLARE_CYCLE_STAT_EXTERN() [1/8]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("Boot")  ,
STAT_MechanismBoot  ,
STATGROUP_Mechanism  ,
APPARATUSRUNTIME_API   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [2/8]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("Buffer")  ,
STAT_MechanismBuffer  ,
STATGROUP_Mechanism  ,
APPARATUSRUNTIME_API   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [3/8]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("Evaluate ~ Input")  ,
STAT_MechanismEvaluateInput  ,
STATGROUP_Mechanism  ,
APPARATUSRUNTIME_API   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [4/8]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("Evaluate ~ Presentation")  ,
STAT_MechanismEvaluatePresentation  ,
STATGROUP_Mechanism  ,
APPARATUSRUNTIME_API   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [5/8]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("Evaluate ~ Steady")  ,
STAT_MechanismEvaluateSteady  ,
STATGROUP_Mechanism  ,
APPARATUSRUNTIME_API   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [6/8]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("Evaluate")  ,
STAT_MechanismEvaluate  ,
STATGROUP_Mechanism  ,
APPARATUSRUNTIME_API   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [7/8]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("Fetch")  ,
STAT_MechanismFetchDetails  ,
STATGROUP_Mechanism  ,
APPARATUSRUNTIME_API   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [8/8]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("Find Matching Iterables")  ,
STAT_MechanismFindMatchingIterables  ,
STATGROUP_Mechanism  ,
APPARATUSRUNTIME_API   
)

◆ DECLARE_STATS_GROUP()

DECLARE_STATS_GROUP ( TEXT("Mechanism")  ,
STATGROUP_Mechanism  ,
STATCAT_Advanced   
)