Navigation
API > API/Plugins > API/Plugins/MassEQS
Inheritance Hierarchy
- UWorldSubsystem
- UMassSubsystemBase
- UMassEQSSubsystem
References
| Module | MassEQS |
| Header | /Engine/Plugins/Runtime/MassGameplay/Source/MassEQS/Public/MassEQSSubsystem.h |
| Include | #include "MassEQSSubsystem.h" |
Syntax
UCLASS ()
class UMassEQSSubsystem : public UMassSubsystemBase
Remarks
Subsystem for sending UMassEQSGenerator and UMassEQSTest requests to Mass Processors, and for returning the results back to EQS.
Variables
| Type | Name | Description | |
|---|---|---|---|
| bool | bIsInitialized | Used to ignore request cancellation after subsystem is De-Initialized | |
| TArray< FMassEQSRequestHandle > | CancelledRequests | Holds all RequestHandles of requests who have been canceled, and not yet submitted. | |
| FIndexedHandleManagerBase< FMassEQSRequestHandle, int32, uint32, true > | HandleManager | ||
| TMap< TSubclassOf< UEnvQueryNode >, int32 > | RequestQueueLookup | Mapping from Class of requester, to index into RequestQueues. | |
| TArray< FRequestQueue > | RequestQueues | Array of Queues holding each Request. | |
| TMap< FMassEQSRequestHandle, TUniquePtr< FMassEQSRequestData > > | Results | Holds results for finished Query |
Functions
| Type | Name | Description | |
|---|---|---|---|
| void | CancelRequest
(
FMassEQSRequestHandle RequestHandle |
If Request in RequestQueue -> Remove from Queue If Result in Results -> Remove from Results Otherwise, Request is currently being processed -> Log this ID as Cancelled, and ignore result when submitted. | |
| void | FinalizeRequest
(
FMassEQSRequestHandle RequestHandle |
Finalization step for Handle Management | |
| int32 | GetRequestQueueIndex
(
TSubclassOf< UEnvQueryNode > RequestClass |
Returns the index into RequestQueues for the input class | |
| TUniquePtr< FMassEQSRequestData > | PopRequest
(
const int32 RequestQueueIndex |
Dequeue next Request off the RequestQueue, removing it from the queue, and transferring ownership of UniquePtr | |
| FMassEQSRequestHandle | PushRequest
(
const FEnvQueryInstance& QueryInstance, |
Push new Request into RequestQueue | |
| void | SubmitResults
(
FMassEQSRequestHandle RequestHandle, |
Send results from a finished/processed request to be stored in this subsystem | |
| TUniquePtr< FMassEQSRequestData > | TryAcquireResults
(
FMassEQSRequestHandle RequestHandle |
Try to Acquire the results from a request from the QueryInstance, if it is available. | |
UE_MT_DECLARE_RW_ACCESS_DETECTOR
(
RequestAccessDetector |
The detector only guards the extension of RequestQueues array. | ||
UE_MT_DECLARE_RW_ACCESS_DETECTOR
(
ResultAccessDetector |
Overridden from UMassSubsystemBase
| Type | Name | Description | |
|---|---|---|---|
| void | Deinitialize () |
||
| void | Initialize
(
FSubsystemCollectionBase& Collection |
Typedefs
| Name | Description |
|---|---|
| FRequestQueue | Queue holding UniquePtrs to the data required for each Request |