UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MassObserverProcessor.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "MassProcessor.h"
6#include "MassObserverProcessor.generated.h"
7
8#define UE_API MASSENTITY_API
9
10
12{
13 struct FObserverContextIterator;
14}
15
20USTRUCT()
22{
24
30
32 {
33 return Operation;
34 }
35
37 {
38 return TypesInOperation;
39 }
40
42 {
43 return TypesInOperation[CurrentTypeIndex];
44 }
45
46 bool IsValid() const
47 {
48 return Operation < EMassObservedOperation::MAX
49 && TypesInOperation.IsValidIndex(CurrentTypeIndex);
50 }
51
52private:
55 TArrayView<const UScriptStruct*> TypesInOperation;
56 int32 CurrentTypeIndex = INDEX_NONE;
57};
58
68UCLASS(MinimalAPI, abstract)
70{
72
73public:
75
76 EMassObservedOperationFlags GetObservedOperations() const;
77 TNotNull<const UScriptStruct*> GetObservedTypeChecked() const;
78
79protected:
80 UE_API virtual void PostInitProperties() override;
81
86 UE_API virtual void Register();
87
88protected:
89 UPROPERTY(EditDefaultsOnly, Category = Processor, config)
90 bool bAutoRegisterWithObserverRegistry = true;
91
93 UPROPERTY()
94 TObjectPtr<const UScriptStruct> ObservedType = nullptr;
95
96 UE_DEPRECATED(5.7, "UMassObserverProcessor::Operation is deprecated. Use ObservedOperations instead")
98
100};
101
102
103//----------------------------------------------------------------------//
104// inlines
105//----------------------------------------------------------------------//
107{
108 return ObservedOperations;
109}
110
115
116#undef UE_API
@ INDEX_NONE
Definition CoreMiscDefines.h:150
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
return true
Definition ExternalRpcRegistry.cpp:601
EMassObservedOperation
Definition MassEntityTypes.h:579
EMassObservedOperationFlags
Definition MassEntityTypes.h:597
#define UE_API
Definition MassObserverProcessor.h:8
T TNotNull
Definition NotNull.h:307
const bool
Definition NetworkReplayStreaming.h:178
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UCLASS(...)
Definition ObjectMacros.h:776
#define USTRUCT(...)
Definition ObjectMacros.h:746
TConstArrayView< const UScriptStruct * > TConstArrayView< const UScriptStruct * >
Definition TypedElementQueryCapabilities.inl:16
Definition UnrealType.h:3087
Definition ArrayView.h:139
Definition MassObserverProcessor.h:70
TNotNull< const UScriptStruct * > GetObservedTypeChecked() const
Definition MassObserverProcessor.h:111
TObjectPtr< const UScriptStruct > ObservedType
Definition MassObserverProcessor.h:94
Definition MassProcessor.h:78
Definition Class.h:1720
Definition MassObserverManager.cpp:20
Definition MassObserverProcessor.h:22
bool IsValid() const
Definition MassObserverProcessor.h:46
EMassObservedOperation GetOperationType() const
Definition MassObserverProcessor.h:31
const UScriptStruct * GetCurrentType() const
Definition MassObserverProcessor.h:41
TConstArrayView< const UScriptStruct * > GetTypesInOperation() const
Definition MassObserverProcessor.h:36
Definition ObjectPtr.h:488
Definition MassObserverManager.cpp:246